[
https://issues.apache.org/jira/browse/OOZIE-971?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13443287#comment-13443287
]
Virag Kothari commented on OOZIE-971:
-------------------------------------
{code} private static List<JsonBean> updateList = new ArrayList<JsonBean>();
{code}
The static declaration of updateList in SuspendX is incorrect. Having it static
will make different suspend commands share the same updateList. So the JPA will
use the same updateList to execute writes for different SuspendX commands. If
some of the beans are already deleted by some other command, JPA will complain
about cache inconsistency as those beans still exist in the update list
> TestRecoveryService failing very often in pre-commit builds
> -----------------------------------------------------------
>
> Key: OOZIE-971
> URL: https://issues.apache.org/jira/browse/OOZIE-971
> Project: Oozie
> Issue Type: Bug
> Reporter: Virag Kothari
>
> The SuspendX Command in 'testCoordActionRecoveryServiceForSuspended' fails
> with the JPA error 'This may mean that you deleted the instance in a separate
> transaction, but this context still has a cached version.'
> The below exception thrown in almost every pre-commit build from last couple
> of days
> {code}
> 04:11:13,322 ERROR SuspendXCommand:536 - USER[test] GROUP[-] TOKEN[testToken]
> APP[testApp] JOB[0000002-120827041103168-oozie-jenk-W] ACTION[-] XException,
> org.apache.oozie.command.CommandException: E0603: SQL error in operation
> [<openjpa-2.1.0-r422266:1071316 nonfatal store error>
> org.apache.openjpa.persistence.EntityNotFoundException: The instance of type
> "class org.apache.oozie.WorkflowJobBean" with oid
> "0000000-120827035717784-oozie-jenk-W" no longer exists in the data store.
> This may mean that you deleted the instance in a separate transaction, but
> this context still has a cached version.
> FailedObject:
> org.apache.oozie.WorkflowJobBean-0000000-120827035717784-oozie-jenk-W], {1}
> at
> org.apache.oozie.command.wf.SuspendXCommand.execute(SuspendXCommand.java:73)
> at
> org.apache.oozie.command.wf.SuspendXCommand.execute(SuspendXCommand.java:45)
> at org.apache.oozie.command.XCommand.call(XCommand.java:277)
> at
> org.apache.oozie.command.XCommand.executeInterrupts(XCommand.java:344)
> at org.apache.oozie.command.XCommand.call(XCommand.java:260)
> at
> org.apache.oozie.service.CallableQueueService$CallableWrapper.run(CallableQueueService.java:175)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:662)
> Caused by: org.apache.oozie.executor.jpa.JPAExecutorException: E0603: SQL
> error in operation [<openjpa-2.1.0-r422266:1071316 nonfatal store error>
> org.apache.openjpa.persistence.EntityNotFoundException: The instance of type
> "class org.apache.oozie.WorkflowJobBean" with oid
> "0000000-120827035717784-oozie-jenk-W" no longer exists in the data store.
> This may mean that you deleted the instance in a separate transaction, but
> this context still has a cached version.
> FailedObject:
> org.apache.oozie.WorkflowJobBean-0000000-120827035717784-oozie-jenk-W], {1}
> at
> org.apache.oozie.executor.jpa.BulkUpdateInsertJPAExecutor.execute(BulkUpdateInsertJPAExecutor.java:98)
> at
> org.apache.oozie.executor.jpa.BulkUpdateInsertJPAExecutor.execute(BulkUpdateInsertJPAExecutor.java:32)
> at org.apache.oozie.service.JPAService.execute(JPAService.java:211)
> at
> org.apache.oozie.command.wf.SuspendXCommand.execute(SuspendXCommand.java:66)
> ... 8 more
> Caused by: <openjpa-2.1.0-r422266:1071316 nonfatal store error>
> org.apache.openjpa.persistence.EntityNotFoundException: The instance of type
> "class org.apache.oozie.WorkflowJobBean" with oid
> "0000000-120827035717784-oozie-jenk-W" no longer exists in the data store.
> This may mean that you deleted the instance in a separate transaction, but
> this context still has a cached version.
> FailedObject:
> org.apache.oozie.WorkflowJobBean-0000000-120827035717784-oozie-jenk-W
> at
> org.apache.openjpa.kernel.StateManagerImpl.loadFields(StateManagerImpl.java:3062)
> at
> org.apache.openjpa.kernel.DetachedStateManager.attach(DetachedStateManager.java:163)
> at
> org.apache.openjpa.kernel.AttachManager.attach(AttachManager.java:251)
> at
> org.apache.openjpa.kernel.AttachManager.attach(AttachManager.java:104)
> at org.apache.openjpa.kernel.BrokerImpl.attach(BrokerImpl.java:3429)
> at
> org.apache.openjpa.kernel.DelegatingBroker.attach(DelegatingBroker.java:1206)
> at
> org.apache.openjpa.persistence.EntityManagerImpl.merge(EntityManagerImpl.java:869)
> at
> org.apache.oozie.executor.jpa.BulkUpdateInsertJPAExecutor.execute(BulkUpdateInsertJPAExecutor.java:92)
> ... 11 more
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira