Jazz Forum Welcome to the Jazz Community Forum Connect and collaborate with IBM Engineering experts and users

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

0 votes



6 answers

Permanent link
There should be a lot more traceback info; can you post the complete traceback? Also, what build are you running?

0 votes


Permanent link
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

0 votes


Permanent link
Thanks. We've submitted a defect to track this:

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

0 votes


Permanent link
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.

0 votes


Permanent link
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

0 votes


Permanent link
Thanks. Feature request 98970 opened.

https://jazz.net/jazz/web/projects/Rational%20Team%20Concert#action=com.ibm.team.workitem.viewWorkItem&id=98970&tab=overview

0 votes

Your answer

Register or log in 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.

Search context
Follow this question

By Email: 

Once you sign in you will be able to subscribe for any updates here.

By RSS:

Answers
Answers and Comments
Question details

Question asked: Jun 15 '09, 4:58 p.m.

Question was seen: 8,444 times

Last updated: Jun 15 '09, 4:58 p.m.

Confirmation Cancel Confirm