Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1114726

Summary: (6.4.0) JPA entity class enhancement may not work for sub-deployments when other sub-deployments reference the entity classes
Product: [JBoss] JBoss Enterprise Application Platform 6 Reporter: Scott Marlow <smarlow>
Component: JPAAssignee: Scott Marlow <scott.marlow>
Status: CLOSED CURRENTRELEASE QA Contact: Martin Simka <msimka>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 6.0.0CC: bbaranow, brian.stansberry, jdoyle, joallen, msimka
Target Milestone: DR2   
Target Release: EAP 6.4.0   
Hardware: All   
OS: All   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
In the previous versions of JBoss EAP 6, entity classes in user applications which are expected to be rewritten by the persistence provider during application deployment may not be rewritten. Due to this, when sub-deployments are deployed in parallel and there are references to entity classes in other sub-deployments beyond the deployment that contains the persistence unit, the entity class definition is loaded before it is rewritten by the persistence provider. Thus affecting the performance. This issue is fixed in the current version of JBoss EAP 6.
Story Points: ---
Clone Of:
: 1130324 (view as bug list) Environment:
Last Closed: 2019-08-19 12:38:27 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:    
Bug Blocks: 1130324    

Description Scott Marlow 2014-06-30 19:23:18 UTC
Description of problem:

Entity classes in user application may be enhanced (rewritten) at application deployment time by the persistence provider (to improve performance), in cooperation with the JPA subsystem deployment that registers the javax.persistence.spi.ClassTransformer before any deployment application classes have been read.  

WFLY-3531 occurs when sub-deployments (e.g. WAR or EJB JAR in an EAR) are deployed in parallel (as they always are) and there are references to entity classes in other sub-deployments beyond the deployment that contains the persistence unit.  Each sub-deployment will proceed through the various internal deployment phases in parallel.  The fix for WFLY-3531, ensures that all sub-deployments will wait until the persistence unit(s) are deployed before starting (unless the jboss.as.jpa.classtransformer persistence unit hint is set to false).


How reproducible:

This problem was first reported by a community user that is using EclipseLink and found that EclipseLink weaving was not working.  Certain other EclipseLink features depend on weaving (class enhancement) to work.  Otherwise, I don't expect that users would know which entity classes are enhanced and which ones are not.

Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 3 JBoss JIRA Server 2014-07-02 13:46:03 UTC
Scott Marlow <scott.marlow> updated the status of jira WFLY-3531 to Closed

Comment 4 baranowb 2014-08-18 07:05:50 UTC
mod subject, add prefix.

Comment 6 Martin Simka 2014-09-29 11:53:48 UTC
verified on EAP 6.4.0.DR2