Search code examples
tfsazure-devopsopshub

OpsHub migration failure: The set of pending renames would cause a name collision


I have a problem during the migration of a TFS 2010 instance to Visual Studio Online. The error is:

OH-SCM-009: Error occurred while sync. TF14059: Unable to process the pending changes requested. The set of pending renames would cause a name collision for $/.../Releases/Release 2.1/.../.../Properties/Resources.Designer.cs.

The Changeset mentioned in the failure log dialog does not even include this file or a rename for any parent folder. The pending changes in the workspace created by the OpsHub tools contains 480 changes; the source changeset contains not even 50 changes...

How can I solve this issue?

The log at this point (I replaced sensitive information in the path with ...)

10/26/2015 15:44:50,991 ERROR [DefaultQuartzScheduler_Worker-7] (com.opshub.eai.SyncEaiProcess) - Error in executing process definition : SCM Default Integration Workflow at node callMethod
OpsHub-012013: Process execution failed on node: callMethod, in process definition: 'SCM Default Integration Workflow'; nested exception is : script evaluation exception
com.opshub.exceptions.eai.EAIProcessEngineException: OpsHub-012013: Process execution failed on node: callMethod, in process definition: 'SCM Default Integration Workflow'; nested exception is : script evaluation exception
    at com.opshub.eai.ProcessEngine.executeTask(ProcessEngine.java:116)
    at com.opshub.eai.ProcessEngine.executeProcess(ProcessEngine.java:44)
    at com.opshub.eai.SyncEaiProcess.syncEvent(SyncEaiProcess.java:198)
    at com.opshub.eai.SyncEaiProcess.sync(SyncEaiProcess.java:123)
    at com.opshub.eai.OIMEventGenerator.process(OIMEventGenerator.java:247)
    at com.opshub.jobs.core.OHJob.execute(OHJob.java:87)
    at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:525)
Caused by: org.jbpm.graph.def.DelegationException: script evaluation exception
    at org.jbpm.graph.action.Script.eval(Script.java:139)
    at org.jbpm.graph.action.Script.eval(Script.java:73)
    at org.jbpm.graph.action.Script.execute(Script.java:62)
    at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:259)
    at org.jbpm.graph.def.GraphElement.executeActions(GraphElement.java:215)
    at org.jbpm.graph.def.GraphElement.fireAndPropagateEvent(GraphElement.java:185)
    at org.jbpm.graph.def.GraphElement.fireEvent(GraphElement.java:169)
    at org.jbpm.graph.def.Transition.take(Transition.java:138)
    at org.jbpm.graph.def.Node.leave(Node.java:393)
    at org.jbpm.graph.exe.Token.signal(Token.java:192)
    at org.jbpm.graph.exe.Token.signal(Token.java:140)
    at org.jbpm.graph.exe.ProcessInstance.signal(ProcessInstance.java:270)
    at com.opshub.eai.ProcessEngine.executeTask(ProcessEngine.java:102)
    ... 7 more
Caused by: com.opshub.eai.core.exceptions.OIMSCMAdapterException: OH-SCM-009: Error occurred while sync. TF14059: Unable to process the pending changes requested. The set of pending renames would cause a name collision for $/.../Releases/Release 2.1/.../.../Properties/Resources.Designer.cs.
    at com.opshub.eai.core.adapters.OIMSCMAdapter.sync(OIMSCMAdapter.java:371)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at bsh.Reflect.invokeMethod(Unknown Source)
    at bsh.Reflect.invokeObjectMethod(Unknown Source)
    at bsh.Name.invokeMethod(Unknown Source)
    at bsh.BSHMethodInvocation.eval(Unknown Source)
    at bsh.BSHPrimaryExpression.eval(Unknown Source)
    at bsh.BSHVariableDeclarator.eval(Unknown Source)
    at bsh.BSHTypedVariableDeclaration.eval(Unknown Source)
    at bsh.Interpreter.eval(Unknown Source)
    at bsh.Interpreter.eval(Unknown Source)
    at bsh.Interpreter.eval(Unknown Source)
    at org.jbpm.graph.action.Script.eval(Script.java:130)
    ... 19 more
Caused by: java.lang.RuntimeException: TF14059: Unable to process the pending changes requested. The set of pending renames would cause a name collision for $/.../Releases/Release 2.1/.../.../Properties/Resources.Designer.cs.
    at com.opshub.eai.tfssource.adapter.TFSVersionControlConnector.checkInAll(TFSVersionControlConnector.java:165)
    at com.opshub.eai.tfssource.adapter.TFSSourceAdapter.checkIn(TFSSourceAdapter.java:239)
    at com.opshub.eai.tfssource.adapter.TFSSourceAdapter$$EnhancerByCGLIB$$40eba2e5.CGLIB$checkIn$4(<generated>)
    at com.opshub.eai.tfssource.adapter.TFSSourceAdapter$$EnhancerByCGLIB$$40eba2e5$$FastClassByCGLIB$$ceeeacdd.invoke(<generated>)
    at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:167)
    at com.opshub.eai.core.adapters.caching.AdapterCacheHandler.intercept(AdapterCacheHandler.java:119)
    at com.opshub.eai.tfssource.adapter.TFSSourceAdapter$$EnhancerByCGLIB$$40eba2e5.checkIn(<generated>)
    at com.opshub.eai.core.adapters.OIMSCMAdapter.sync(OIMSCMAdapter.java:287)
    ... 34 more
Caused by: TF14059: Unable to process the pending changes requested. The set of pending renames would cause a name collision for $/.../Releases/Release 2.1/.../.../Properties/Resources.Designer.cs.
    at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222)
    at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129)
    at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
    at javax.xml.parsers.SAXParser.parse(Unknown Source)
    at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
    at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
    at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
    at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
    at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
    at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
    at org.apache.axis.client.Call.invoke(Call.java:2767)
    at org.apache.axis.client.Call.invoke(Call.java:2443)
    at org.apache.axis.client.Call.invoke(Call.java:2366)
    at org.apache.axis.client.Call.invoke(Call.java:1812)
    at com.opshub.tfs.test.BasicHttpBinding_ITFSWebServiceStub.checkinAllStatus(BasicHttpBinding_ITFSWebServiceStub.java:5115)
    at com.opshub.eai.tfssource.adapter.TFSVersionControlConnector.checkInAll(TFSVersionControlConnector.java:154)
    ... 41 more

Solution

  • The following solved the problem:

    • Stop the migrations and close the migration utility.
    • Cleanup the tfs client cache from the machine where Migration Utility is installed by deleting the content of following folder(s):

      • %localappdata%\Microsoft\Team Foundation\3.0\Cache\
      • %localappdata%\Microsoft\Team Foundation\4.0\Cache\
      • %localappdata%\Microsoft\Team Foundation\5.0\Cache\
      • %localappdata%\Microsoft\Team Foundation\5.0\Cache\
    • Connect to your VSO endpoint from visual studio and delete all the workspace whose name starts with "OH-X..XX".

    • Now start the migration utility as well as the migration and retry the failures.

    Thanks @OpsHub support.