Page 1 of 1

Starteam OutOfMemory - FIXED

Posted: Sat Apr 26, 2008 10:30 am
by kirill.kovalenko

A lot of people seem to came across the OOM problem while attempting to convert their starteam repositories using svnimporter.

As we finally decided to move to subversion I spent some time with debugger and profiler and fixed the memory consumption problem.
I’ve also added a some new features that we’ve found useful in our case.

Here is short summary of what have been done:

1) Memory consumption fixed. Original 1.5 Gb+ and OOM crash with just ~2500 files turned into mere 180 Mb for 7500+ files
a) STLabel refactored into String
b) Use intern() for label names
c) Use intern() in some other places
d) Use lazy allocation for some rarely used things in the STRevision
e) Replace String with Date in the STRevision
2) New commits separation logic which allows to export data even if there is a conflicting overlapped commits.
3) A fix to internal starteam inconsistencies that we have . Some files have a chains of revisions with the same date/time. I guess if we have this issue other people may be affected as well
4) Three new options in the configuration file.
a. st.dontincludemetadataprops – allows dropping starteam meta information inserted into SVN dump as custom properties
b. st.nocomment.message – allows customizing default message for commits with no comment
c. st.userstoignore – allows specifying a list of uses to skip commits from.

The patch is available here: ...

Fill free to use it if you have OOM problems.