This project is read-only.
1
Vote

CQ to TFS Migration using TFS Integration Tools causing exponential increase in CQ record numbers

description

Hello Team,

We are in the middle of a major migration activity, we are doing a one-way migration from ClearQuest to TFS using TFS Integration Tools. Everything was going fine and work items were created in TFS until suddenly our CQ admin reported that more than lakhs of ClearQuest numbers have vanished and it is a problem for them.

Digging into the source code we found in "ClearQuestRecordItem.cs" under case 'CQConstants.FIELD_MULTILINE_STRING:' that it's creating dummy records for each Multi Line string field to replace newline with comma. I guess this is what is reserving so many CQ IDs. Our ClearQuest tool is used by many other projects as well. It is just our project that we are migrating to TFS. Since we migrated more than 12000 records it created lakhs of dummy records for each Multiline field.

We need your guidance here. Could you please fix this issue so we can continue with our migration as planned.
         // non-log field
     try
    {
   var aTestEntity = CreateTestEntity(record, migrationContext);
   object[] choices = (object[])CQWrapper.GetFieldChoiceList(aTestEntity, fieldName);
   if (choices != null && choices.Length > 0)
    {
    // Multi Line String with List of Allowed/Suggested Values.. replace all '\n' with comma
    // fix for bug# 429098
   if (fldValue != null)
    {
    fldValue = fldValue.Replace("\n", ",");
              }
               }
                }
      catch (Exception ex)
           {
           // NOTE:
          // This feature of testing the multiline string choices create a dummy CQ record
          // The API call CreateTestEntity requires WRITE permission to CQ
          // If the migration account doesn't have the permission, we will simply use
         // the field's current value
           TraceManager.TraceInformation(
          "Skipping retrieval of Allowed Values for field '{0}' - Write permission is needed. Error: {1}",
            fieldName, ex.Message);
            }
          recordDesc.AddField(fieldName, string.Empty, fldValue);
Thanks

Aishwarya

comments