Jazz Forum Welcome to the Jazz Community Forum Connect and collaborate with IBM Engineering experts and users

Is it possible to disable change events temporarily?

We want to adopt RTC as tool for defect tracking, and to enable seamless operation, we want to import stuff from our current tracking system into RTC. Now, our current database has grown over years, and so the import has to deal with approx. 500.000 work items and millions of comments.

The duration of the import job is approaching 72 hours, which conflicts with the target to do the cutover on a weekend, minimizing impact on the user community.

Now I wonder whether we can squeeze out a couple of hours by having RTC not generate change events for the import-related transactions. Does anyone know if generation of change events can be turned off somehow?

Also, if you have good tips how to speed up a mass import of the mentioned scale, I would be very happy to read about that!

Any help greatly appreciated!
Markus

0 votes



3 answers

Permanent link
Hi Markus.

I don't believe you can disable change events.

Consider breaking up the import job into chunks and importing each chunk in parallel in a separate RTC Client session, possibly on separate client machines. I haven't tried this, but it should work as long as there are no interdependencies between the work items you're importing in the different sessions. You'll want to monitor the load on your server and not overload it.

-Matt

0 votes

Comments

Hi Matt,

thanks for your quick response. We already use multi-threading, but from within a single JVM. This approach is faster than running single-threaded, but as you point out the bottleneck seems to be the database system. That's why I wondered if we could get rid of some database load, and I don't think we'd need change events for imported data.

Thanks for your help,
Markus


Permanent link
What version of RTC and where are you running the import from? Collocation for the purpose of the import has helped some, but it really depends on the setup, system and network capabilities as to whether the tradeoffs in performance would work for this case.  There are a lot of basic checks for optimizations/interference that may pop up something that can yield better results as well. From a system perspective, check firewalls/scanning tools to make sure you aren't getting any slowdown/interference on the operations, memory/cpu/disk/temp space isn't being used up, check the logging and activity on the DB server to make sure it isn't throttling, check the network transfer speed to make sure it is where you expect, etc.

0 votes


Permanent link
I found internal API that seems to skip change event processing on the server:

Class com.ibm.team.workitem.common.internal.util.Util provides a method runImport(Runnable) which changes the mode of the calling thread such that change events will be skipped on the server.

Regards
MArkus

0 votes

Your answer

Register or log in to post your answer.

Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.

Search context
Follow this question

By Email: 

Once you sign in you will be able to subscribe for any updates here.

By RSS:

Answers
Answers and Comments
Question details
× 10,940
× 173

Question asked: Mar 18 '13, 11:49 a.m.

Question was seen: 5,986 times

Last updated: May 07 '13, 10:57 a.m.

Confirmation Cancel Confirm