Jazz Library Workaround: The ClearCase Version Importer Fails to Export When Merge Hyperlinks Create Cyclic Dependencies
Author name

Workaround: The ClearCase Version Importer Fails to Export When Merge Hyperlinks Create Cyclic Dependencies


Workaround summary

Problem

Rational ClearCase merge hyperlinks that are created from child versions to parent versions in version tree cause cyclic dependencies. Cyclic dependencies in a version tree disrupt the export because the ClearCase Version Importer exports versions in the dependency order. The ClearCase Version Importer detects and reports cyclic dependencies, so that users can eliminate cyclic dependencies by deleting some of merge links. However, when there are complex cyclic dependencies that are composed from more than two cyclic dependencies (for example, one cyclic dependency shares links with another cyclic dependency), the ClearCase Version Importer fails to detect cyclic dependencies and fails with an OutOfMemoryError exception.

The OutOfMemoryError generates a javacore file. The path to the javacore file is in the console output. When you open the file, the following lines are reported:

...
3XMTHREADINFO3 Java callstack:
4XESTACKTRACE at java/util/ArrayList.newElementArray(ArrayList.java:94(Compiled Code))
4XESTACKTRACE at java/util/ArrayList.growAtEnd(ArrayList.java:375(Compiled Code))
4XESTACKTRACE at java/util/ArrayList.add(ArrayList.java:158(Compiled Code))
4XESTACKTRACE at com/ibm/team/connector/scm/importer/basecc/Traverser.detectCyclicMergeLinks(Traverser.java:193(Compiled Code))
4XESTACKTRACE at com/ibm/team/connector/scm/importer/basecc/Traverser.traverseInDependencyOrder(Traverser.java:57(Compiled Code))
...

Workaround

Complete these steps:
  1. Open the export command log file, and find a line, such as “INFO team.connector.scm.importer.basecc.LoggingFeedback – Exporting: <filename>,” towards the end of the log. This file causes the cyclic merge dependency.
  2. Open the file version tree with a version-tree browser.
  3. Find the complex cyclic dependencies, manually.
  4. Resolve the complex cyclic dependencies by deleting some of the merge hyperlinks.

Related information

Return to the top of the page


Fri, 28 Feb 2014