Hi -
I have a workflow in vCenter Orchestrator where I'm trying to activate a vCACCAFE:AdminCatalogItem and then assign it to a vCACCAFE:Service. I'm using the activateCatalogItem and assignCatalogItemToService actions from the com.vmware.library.vcaccafe.catalog.catalogitem module, in 2 sequential nodes in the workflow.
Against a vCACCAFE:VCACHost pointing to a vCAC 6.0.1 appliance, these calls work fine. Against a vCAC 6.1 server, one of the 2 actions always fails with '409 Conflict' -- it appears random which one fails, but one always fails.
In the vcac va tomcat server catalina.out, I see:
2014-10-07 13:21:48,186 vcac: [component="cafe:catalog" priority="INFO" thread="tomcat-http--23" tenant="vsphere.local"] com.vmware.vcac.catalog.service.impl.CatalogItemServiceImpl.updateCatalogItem:141 - Updating catalog [557dda3c-8658-497c-a078-a68a54ce3716] - [Add a tenant data protection system]
2014-10-07 13:21:58,351 vcac: [component="cafe:catalog" priority="INFO" thread="tomcat-http--82" tenant="vsphere.local"] com.vmware.vcac.catalog.service.impl.CatalogItemServiceImpl.updateCatalogItem:141 - Updating catalog [557dda3c-8658-497c-a078-a68a54ce3716] - [Add a tenant data protection system]
2014-10-07 13:21:58,357 vcac: [component="cafe:catalog" priority="ERROR" thread="tomcat-http--82" tenant="vsphere.local"] com.vmware.vcac.platform.service.rest.resolver.ApplicationExceptionHandler.handleConflict:748 - Object of class [com.vmware.vcac.catalog.domain.catalogitem.CatalogItem] with identifier [557dda3c-8658-497c-a078-a68a54ce3716]: optimistic locking failed; nested exception is org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [com.vmware.vcac.catalog.domain.catalogitem.CatalogItem#557dda3c-8658-497c-a078-a68a54ce3716]
org.springframework.orm.ObjectOptimisticLockingFailureException: Object of class [com.vmware.vcac.catalog.domain.catalogitem.CatalogItem] with identifier [557dda3c-8658-497c-a078-a68a54ce3716]: optimistic locking failed; nested exception is org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [com.vmware.vcac.catalog.domain.catalogitem.CatalogItem#557dda3c-8658-497c-a078-a68a54ce3716]
<huge stack snipped>
Caused by: org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [com.vmware.vcac.catalog.domain.catalogitem.CatalogItem#557dda3c-8658-497c-a078-a68a54ce3716]
<large stack snipped>
Unless vCO is doing something funny, these calls are sequential and not parallel. It looks like something's getting confused in hibernate in vCAC.
Any ideas? I checked the 6.1 release notes but didn't see anything about it.
Thanks,
Greg