It's all about the answers!

Ask a question

CQ Connectors: attachment removal not syncing


Chris Ratcliffe (2633330) | asked Jun 15 '09, 4:58 p.m.
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



permanent link
John Vasta (2.6k15) | answered Jun 16 '09, 11:20 a.m.
FORUM MODERATOR / JAZZ DEVELOPER
There should be a lot more traceback info; can you post the complete traceback? Also, what build are you running?

permanent link
Chris Ratcliffe (2633330) | answered Jun 16 '09, 12:32 p.m.
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

permanent link
John Vasta (2.6k15) | answered Jun 16 '09, 1:06 p.m.
FORUM MODERATOR / JAZZ DEVELOPER
Thanks. We've submitted a defect to track this:

https://jazz.net/jazz/resource/itemName/com.ibm.team.workitem.WorkItem/86030

permanent link
Chris Ratcliffe (2633330) | answered Nov 06 '09, 9:21 a.m.
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.

permanent link
Richard Piazza (381) | answered Nov 06 '09, 11:41 a.m.
JAZZ DEVELOPER
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

permanent link
Chris Ratcliffe (2633330) | answered Nov 09 '09, 10:25 a.m.
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


Register or to post 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.