CQ Connectors: attachment removal not syncing
While testing the synchronization of attachment data from RTC to CQ, I was able to successfully add an Attachment on the RTC side of things, and see it sync to the CQ database, however when I tried to remove an attachment, I got an outgoing error indicating:
Error occurred: java.lang.RuntimeException: com.ibm.team.interop.service.managers.clearquest.common.InteropException: com.ibm.rational.connector.cq.teamapi71.InteropWvcmException71: CRVAP0332E (conflict): An explicit action must be specified when updating records of type 'Defect' because this record type defines several modify actions: Modify, Add_Remarks, Edit_Notification_List, Change_Mastership, Fix_Request, Fix_Request_Status at com.ibm.team.interop.service.managers.clearquest.CQExternalManager.updateState(CQExternalManager.java:1399) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:618) Is this a known issue? I definitely have a number of different Modify type actions in my cq schema, but that hasn't stopped other updates from working properly. Thanks, Chris |
6 answers
There should be a lot more traceback info; can you post the complete traceback? Also, what build are you running?
|
Here is the more complete traceback from the failed sync:
Outgoing at 6/16/09 12:29:54 PM EDT Error occurred: java.lang.RuntimeException: com.ibm.team.interop.service.managers.clearquest.common.InteropException: com.ibm.rational.connector.cq.teamapi71.InteropWvcmException71: CRVAP0332E (conflict): An explicit action must be specified when updating records of type 'Defect' because this record type defines several modify actions: Modify, Add_Remarks, Edit_Notification_List, Change_Mastership, Fix_Request, Fix_Request_Status at com.ibm.team.interop.service.managers.clearquest.CQExternalManager.updateState(CQExternalManager.java:1399) at sun.reflect.GeneratedMethodAccessor287.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:618) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:378) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:364) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56) at $Proxy222.updateState(Unknown Source) at com.ibm.team.interop.service.internal.ExternalManagerProxy.updateState(ExternalManagerProxy.java:102) at com.ibm.team.interop.service.internal.InteropService.doSynchronizeOutgoing(InteropService.java:4089) at com.ibm.team.interop.service.internal.InteropService.processOutgoingOneState(InteropService.java:2359) at com.ibm.team.interop.service.internal.InteropService.processOutgoing(InteropService.java:2272) at sun.reflect.GeneratedMethodAccessor286.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:618) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:378) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:364) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56) at $Proxy138.processOutgoing(Unknown Source) at com.ibm.team.interop.service.internal.ProxySyncTask.processRequest(ProxySyncTask.java:441) at com.ibm.team.interop.service.internal.ProxySyncTask.processRequestQueue(ProxySyncTask.java:389) at com.ibm.team.interop.service.internal.ProxySyncTask.transactionSucceeded(ProxySyncTask.java:258) at sun.reflect.GeneratedMethodAccessor191.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:618) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:378) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:364) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56) at $Proxy140.transactionSucceeded(Unknown Source) at com.ibm.team.repository.service.internal.AsynchronousTaskSchedulerService$2.transactionSucceeded(AsynchronousTaskSchedulerService.java:559) at com.ibm.team.repository.service.internal.AsynchronousTaskSchedulerService$2.executeTask(AsynchronousTaskSchedulerService.java:567) at com.ibm.team.repository.service.internal.scheduler.AsynchronousTaskRunner.runTask(AsynchronousTaskRunner.java:118) at com.ibm.team.repository.service.internal.scheduler.AsynchronousTaskRunner.run(AsynchronousTaskRunner.java:92) at java.lang.Thread.run(Thread.java:810) Caused by: com.ibm.team.interop.service.managers.clearquest.common.InteropException: com.ibm.rational.connector.cq.teamapi71.InteropWvcmException71: CRVAP0332E (conflict): An explicit action must be specified when updating records of type 'Defect' because this record type defines several modify actions: Modify, Add_Remarks, Edit_Notification_List, Change_Mastership, Fix_Request, Fix_Request_Status at com.ibm.team.interop.service.managers.clearquest.internal.InteropOperationReturnClient.deSerializeInteropException(InteropOperationReturnClient.java:129) at com.ibm.team.interop.service.managers.clearquest.internal.InteropOperationReturnClient.deSerialize(InteropOperationReturnClient.java:186) at com.ibm.team.interop.service.managers.clearquest.internal.InteropClient.parseReturnValue(InteropClient.java:100) at com.ibm.team.interop.service.managers.clearquest.internal.InteropClient.executeOperation(InteropClient.java:133) at com.ibm.team.interop.service.managers.clearquest.internal.InteropClient.delete(InteropClient.java:329) at com.ibm.team.interop.service.managers.clearquest.CQExternalManager.handlePendingAttachments(CQExternalManager.java:365) at com.ibm.team.interop.service.managers.clearquest.CQExternalManager.updateState(CQExternalManager.java:1324) ... 33 more I am using build: Rational Team Concert Version: 2.0 Build id: I20090520-1148 |
Thanks. We've submitted a defect to track this:
https://jazz.net/jazz/resource/itemName/com.ibm.team.workitem.WorkItem/86030 |
I noticed a similar error today with an outgoing sync:
Outgoing at 11/6/09 8:55:37 AM EST Error occurred: java.lang.RuntimeException: com.ibm.team.interop.service.managers.clearquest.common.InteropException: com.ibm.rational.connector.cq.teamapi71.InteropWvcmException71: CRVAP0332E (conflict): An explicit action must be specified when updating records of type 'Defect' because this record type defines several modify actions: Add_Remarks, Edit_Notification_List, Admin_Update, Change_Mastership, Update, ODC_Update, Fix_Request_Status com.ibm.team.interop.service.managers.clearquest.common.InteropException: com.ibm.rational.connector.cq.teamapi71.InteropWvcmException71: CRVAP0332E (conflict): An explicit action must be specified when updating records of type 'Defect' because this record type defines several modify actions: Add_Remarks, Edit_Notification_List, Admin_Update, Change_Mastership, Update, ODC_Update, Fix_Request_Status In this case, there is no attachment involved, however, in our CQ schema, when the state of the defect is in Closed state, which is the case here, the Modify action is no longer valid. We have another modify action we allow users to use called Update, which allows a smaller subset of fields to be updated than the Modify action does. Is there someway to tell the synchronization process which action to use? Perhaps giving it a list of "Modify" type action in an order of preference, or based on the state of the external record? Thanks. |
Currently, the implementation just picks the first action in the list that has type MODIFY.
Please enter a defect at jazz.net about this. Rich Piazza Jazz CQ Connector team |
Thanks. Feature request 98970 opened.
https://jazz.net/jazz/web/projects/Rational%20Team%20Concert#action=com.ibm.team.workitem.viewWorkItem&id=98970&tab=overview |
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.