Bug 1114726 - (6.4.0) JPA entity class enhancement may not work for sub-deployments when other sub-deployments reference the entity classes
Summary: (6.4.0) JPA entity class enhancement may not work for sub-deployments when ot...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: JBoss Enterprise Application Platform 6
Classification: JBoss
Component: JPA
Version: 6.0.0
Hardware: All
OS: All
unspecified
medium
Target Milestone: DR2
: EAP 6.4.0
Assignee: Scott Marlow
QA Contact: Martin Simka
URL:
Whiteboard:
Depends On:
Blocks: 1130324
TreeView+ depends on / blocked
 
Reported: 2014-06-30 19:23 UTC by Scott Marlow
Modified: 2019-08-19 12:40 UTC (History)
5 users (show)

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.
Clone Of:
: 1130324 (view as bug list)
Environment:
Last Closed: 2019-08-19 12:38:27 UTC
Type: Bug


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
JBoss Issue Tracker WFLY-3531 Major Closed JPA persistence unit services should start completly before sub-deployments reach the next deployment phase 2019-02-27 20:29:39 UTC

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@redhat.com> 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


Note You need to log in before you can comment on or make changes to this bug.