Bug 861237
| Summary: | ResourceManager.getLiveResourceAvailability fails due to PersistentObjectException: detached entity passed to persist: org.rhq.core.domain.configuration.definition.ConfigurationDefinition | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [JBoss] JBoss Operations Network | Reporter: | Larry O'Leary <loleary> | ||||
| Component: | CLI | Assignee: | Heiko W. Rupp <hrupp> | ||||
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Mike Foley <mfoley> | ||||
| Severity: | high | Docs Contact: | |||||
| Priority: | high | ||||||
| Version: | JON 3.1.0 | CC: | fbrychta | ||||
| Target Milestone: | --- | ||||||
| Target Release: | JON 3.1.2 | ||||||
| Hardware: | All | ||||||
| OS: | All | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | Doc Type: | Bug Fix | |||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | |||||||
| : | 861239 (view as bug list) | Environment: | |||||
| Last Closed: | 2013-09-11 11:01:18 UTC | Type: | Bug | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Embargoed: | |||||||
| Bug Depends On: | 861239 | ||||||
| Bug Blocks: | |||||||
| Attachments: |
|
||||||
Created attachment 644969 [details]
Proposed patch
An additional entityManager.flush() makes the issue go away for me.
Proposed patch is now in master as 23be83c54ea7c Pushed to the release branch as 94abac1c47b4c9f Moving to ON_QA as available for test with build : https://brewweb.devel.redhat.com//buildinfo?buildID=244662. Verified on 3.1.2.ER2 |
Description of problem: Can not execute ResourceManager.getLiveResourceAvailability from CLI or Remote API due to: Caused by: org.hibernate.PersistentObjectException: detached entity passed to persist: org.rhq.core.domain.configuration.definition.ConfigurationDefinition at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:79) at org.hibernate.impl.SessionImpl.firePersistOnFlush(SessionImpl.java:644) at org.hibernate.impl.SessionImpl.persistOnFlush(SessionImpl.java:636) at org.hibernate.engine.CascadingAction$9.cascade(CascadingAction.java:323) at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:268) at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:216) at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:169) at org.hibernate.engine.Cascade.cascade(Cascade.java:130) at org.hibernate.event.def.AbstractFlushingEventListener.cascadeOnFlush(AbstractFlushingEventListener.java:131) at org.hibernate.event.def.AbstractFlushingEventListener.prepareEntityFlushes(AbstractFlushingEventListener.java:122) at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:65) at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:26) at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000) at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338) at org.hibernate.ejb.AbstractEntityManagerImpl$1.beforeCompletion(AbstractEntityManagerImpl.java:515) ... 101 more Version-Release number of selected component (if applicable): JON 3.1 How reproducible: Always Steps to Reproduce: 1. Install JON system and add one or more resources to inventory 2. Locate a valid resource ID for a resource in inventory - probably 10001 3. Execute the following from the JON CLI: ResourceManager.getLiveResourceAvailability(10001) Actual results: Wrapped java.lang.RuntimeException: [Warning] javax.transaction.RollbackException: [com.arjuna.ats.internal.jta.transaction.arjunacore.commitwhenaborted] [com.arjuna.ats.internal.jta.transaction.arjunacore.commitwhenaborted] Can't commit because the transaction is in aborted state (<Unknown source>#1) ResourceManager.getLiveResourceAvailability(10001) ^ Expected results: The live availability for the resource with ID 10001 (in my case Platform).