-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/41477/
-----------------------------------------------------------
(Updated Jan. 6, 2016, 1:43 a.m.)
Review request for Ambari, Jonathan Hurley, Myroslav Papirkovskyy, and Nate
Cole.
Changes
-------
Removed the reference to the clusterEntity completely.
Will continue to do some manual testing. Uploading patch for review. Unit test
pass.
Bugs: AMBARI-14411
https://issues.apache.org/jira/browse/AMBARI-14411
Repository: ambari
Description
-------
*Preliminary patch*
Symptom:
{code}
Local Exception Stack:
Exception [EclipseLink-6004] (Eclipse Persistence Services -
2.5.2.v20140319-9ad6abd): org.eclipse.persistence.exceptions.QueryException
Exception Description: The object
[org.apache.ambari.server.orm.entities.ClusterConfigEntity@3646b3a8], of class
[class org.apache.ambari.server.orm.entities.ClusterConfigEntity], with
identity hashcode (System.identityHashCode()) [364,075,546],
is not from this UnitOfWork object space, but the parent session's. The object
was never registered in this UnitOfWork,
but read from the parent session and related to an object registered in the
UnitOfWork. Ensure that you are correctly
registering your objects. If you are still having problems, you can use the
UnitOfWork.validateObjectSpace() method to
help debug where the error occurred. For more information, see the manual or
FAQ.
at
org.eclipse.persistence.exceptions.QueryException.backupCloneIsOriginalFromParent(QueryException.java:298)
at
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.getBackupClone(UnitOfWorkImpl.java:1995)
at
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.registerExistingObject(UnitOfWorkImpl.java:3976)
at
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.registerExistingObject(UnitOfWorkImpl.java:3894)
at
org.eclipse.persistence.mappings.CollectionMapping.buildElementUnitOfWorkClone(CollectionMapping.java:308)
at
org.eclipse.persistence.mappings.CollectionMapping.buildElementClone(CollectionMapping.java:321)
at
org.eclipse.persistence.internal.queries.ContainerPolicy.addNextValueFromIteratorInto(ContainerPolicy.java:217)
{code}
Likely Cause:
Stale clusterEntity reference points to a detached entity which gets tried to
be merged, the Cascaded relationship throws the error on persist.
Diffs (updated)
-----
ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java
3358e8c
ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClusterTest.java
3998f1c
Diff: https://reviews.apache.org/r/41477/diff/
Testing
-------
Unit testing in progress.
Thanks,
Sid Wagle