It's all about the answers!

Ask a question

Collecting datawarehouse SCM_REMOTE_SNAPSHOT cause RTC server OutOfMemoryError - why?


Natarajan Thirumeni (2981131) | asked May 26 '19, 2:57 a.m.
I am working with a large RTC SCM (Source Code Management) repository, while our user trying to collect  datawarehouse SCM_REMOTE_SNAPSHOT, it causes RTC server OutOfMemoryErroout of Java memory (java.lang.OutOfMemoryError). Can you please explain how to prevent server ran out of memory and what causes memory to be used?


Accepted answer


permanent link
Natarajan Thirumeni (2981131) | answered May 26 '19, 3:09 a.m.
edited May 27 '19, 4:19 a.m. by Ralph Schoon (63.3k33646)
The datawarehouse SCM_REMOTE_SNAPSHOT is background task of com.ibm.team.reports.scm.service.rest.internal.StatisticsResourceSet. This service is used for RTC Reports component (for reporting on SCM).

In case of a large RTC SCM (Source Code Management) repository, this service is expected to run for hours and can consume a lot of RAM. This can eventually lead to an out of memory exception (OOM). To avoid such OOM's, the following options are available.

a) Limit the number of streams you collect statistics for.
b) If you cannot get a handle or control this, then you could disable it. Lets take a look at it:

  
For option a) go to  - https://<server>:<port>/ccm/web/projects/<PA_NAME>#action=com.ibm.team.reports.admin&id=com.ibm.team.reports.admin.datawarehouse.scm - over here you will see an option "Select the streams to collect data for:". This can tedious if you need to configure for several projects.

For option b) - Go to CCM advanced properties, search for these two properties:
1. Ignore Stream Change data
2. Ignore Stream Sizing data properties

These should be set to true and save the page (a server restart maybe required). If they were set to true, you'd see these two properties.

com.ibm.team.datawarehouse.SCM_REMOTE_SNAPSHOT.remoteSnapshot.ignoreStreamChangeData=true
com.ibm.team.datawarehouse.SCM_REMOTE_SNAPSHOT.remoteSnapshot.ignoreStreamSizingData=true

The downside of setting this property to true is that, the use would not be gathering SCM metrics. You can check in your organization if these metrics are really needed or it is possible to report only for a specific component / project area instead of reporting RTC repository wide.

Ralph Schoon selected this answer as the correct answer

Your answer


Register or 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.