Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [eclipselink-users] Bug 362564 - WebSphere specific randomisedorg.eclipse.persistence.exceptions.JPQLException error on startup

these errors all occur during application start up - ie when all the named queries are validated/ compiled when the first named query is created,
we have several queries in different threads that would run during application startup at about the same time

could it be some race condition where 2or more threads are trying dothe same thing that should only happen once ???

eg in the stack trace below it goes into /thru some websphere specific code to get the entity manager / create named query ?

[11/1/11 12:16:36:933 UTC] 00000026 SystemOut O [EL Severe]: 2011-11-01 12:16:36.913--ServerSession(217124081)--Local Exception Stack: Exception [EclipseLink-8030] (Eclipse Persistence Services - 2.2.1.v20110721-r9766): org.eclipse.persistence.exceptions.JPQLException Exception Description: Error compiling the query [DataElementGroupAudit.checkPrevAuditsByNaturalKey: SELECT NEW biz.wss.interfaces.entities.foureyes.auditmaker.AuditStateUser(a.auditFields.currentState, a.auditFields.auditUser) FROM DataElementGroupAudit a WHERE a.code = :code ORDER BY a.auditFields.auditDateTime DESC], line 1, column 76: unknown state or association field [auditFields] of class [biz.wss.interfaces.entities.bo.dataelement.group.foureyes.DataElementGroupAudit]. at org.eclipse.persistence.exceptions.JPQLException.unknownAttribute(JPQLException.java:457)
at org.eclipse.persistence.internal.jpa.parsing.DotNode.validate(DotNode.java:88)
 at org.eclipse.persistence.internal.jpa.parsing.DotNode.validate(DotNode.java:73)
at org.eclipse.persistence.internal.jpa.parsing.ConstructorNode.validate(ConstructorNode.java:73)
 at org.eclipse.persistence.internal.jpa.parsing.SelectNode.validate(SelectNode.java:293)
 at org.eclipse.persistence.internal.jpa.parsing.ParseTree.validate(ParseTree.java:201)
at org.eclipse.persistence.internal.jpa.parsing.ParseTree.validate(ParseTree.java:183)
 at org.eclipse.persistence.internal.jpa.parsing.ParseTree.validate(ParseTree.java:173)
 at org.eclipse.persistence.internal.jpa.parsing.JPQLParseTree.populateReadQueryInternal(JPQLParseTree.java:110)
 at org.eclipse.persistence.internal.jpa.parsing.JPQLParseTree.populateQuery(JPQLParseTree.java:84)
at org.eclipse.persistence.internal.jpa.EJBQueryImpl.buildEJBQLDatabaseQuery(EJBQueryImpl.java:216)
 at org.eclipse.persistence.internal.jpa.JPAQuery.processJPQLQuery(JPAQuery.java:106)
 at org.eclipse.persistence.internal.jpa.JPAQuery.prepare(JPAQuery.java:90)
 at org.eclipse.persistence.queries.DatabaseQuery.checkPrepare(DatabaseQuery.java:579)
 at org.eclipse.persistence.queries.DatabaseQuery.checkPrepare(DatabaseQuery.java:539)
at org.eclipse.persistence.internal.sessions.AbstractSession.processJPAQueries(AbstractSession.java:2173)
at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.initializeDescriptors(DatabaseSessionImpl.java:414)
at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.postConnectDatasource(DatabaseSessionImpl.java:680)
at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.loginAndDetectDatasource(DatabaseSessionImpl.java:628)
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryProvider.login(EntityManagerFactoryProvider.java:233)
 at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:394)
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.getServerSession(EntityManagerFactoryImpl.java:185)
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:242)
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:237)
 at com.ibm.ws.jpa.management.JPAEMPool.getEntityManager(JPAEMPool.java:140)
at com.ibm.ws.jpa.management.JPATxEntityManager.getEMInvocationInfo(JPATxEntityManager.java:235)
at com.ibm.ws.jpa.management.JPAEntityManager.createNamedQuery(JPAEntityManager.java:302)

at biz.wss.jpa.DbType.createNamedQuery(DbType.java:62)


On 02/11/2011 11:05, Nathan Drew wrote:

Hi Tom,

 

Glad to know it's not something glaringly obvious we're missing (at least for now anyway!) - it is indeed a confusing issue since it works on two out of the three JEE server platforms we develop for without issue.

 

In answer to your questions:

·         Is the packaging the same on all the different servers you are running on?

o   It should be, yes, our ANT scripts only do JEE platform specific things such as use specific libraries and perhaps include specific WAR files according to the type

·         How is your persistence unit packaged and deployed?

o   We have a single persistence.xml configured inside one of our Jar files.

o   The mapping file is stored within the same JAR

·         Are all the classes in the same jar?

o   No, the persistence.xml references 4 <jar-files>

·         Are the classes dependent on classes from other jars?

o   The ones that it is complaining about exist within one of the specified <jar-files> and don't

·         Is there a chance that some of the dependencies are not properly loaded?

o   I think TopLink Essentials would have had a similar problem if this was the case.

·         Is there anything in common between queries that do not seem to work?

o   One thing I do notice about the queries it complains about is that they all seem to be of the type "SELECT NEW … FROM …" not sure how relevant that is.

·         (inherited fields?)

o   The entity classes that are complained about do extend other classes that are defined as @MappedSuperclass, which in turn extend an abstract class (and those aren't annotated as @MappedSuperclass)

o   It always seems to reference @Embedded fields

·         Is there a chance that queries of the same name are defined in multiple places?

o   I don't believe so - we've recently added a JUnit test to check for this, plus I manually checked via grep and an Excel spread sheet.

 

I'm not sure if that answers all of your questions, specifically about the packaging so please let me know if you need more detail.

 

We were operating TopLink Essentials without any problems with WebSphere - which is why we think it might be a bug within EclipseLink somehow.

 

Kind Regards

Nathan

 

-----Original Message-----
From: eclipselink-users-bounces@xxxxxxxxxxx [mailto:eclipselink-users-bounces@xxxxxxxxxxx] On Behalf Of Tom Ware
Sent: 01 November 2011 17:35
To: eclipselink-users@xxxxxxxxxxx
Subject: Re: [eclipselink-users] Bug 362564 - WebSphere specific randomisedorg.eclipse.persistence.exceptions.JPQLException error on startup

 

I have to admit that I am as confused about this issue as you appear to be.

 

The only theory I can come up with is that there is some issue with all the queries and that the error is different for different deployments because they are instantiated parsed into the EclipseLink metadata in a random order.

 

Since deployment is working on other application servers, this leads me to believe that this is somehow a packaging issue.

 

Is the packaging the same on all the different servers you are running on?

How is your persistence unit packaged and deployed?

Are all the classes in the same jar?

Are the classes dependent on classes from other jars?

Is there a chance that some of the dependencies are not properly loaded?

Is there anything in common between queries that do not seem to work?

(inherited fields?)

Is there a chance that queries of the same name are defined in multiple places?

 

-Tom

 

On 01/11/2011 10:54 AM, Nathan Drew wrote:

> Hi Tom,

> 

> I've retried with another example stack trace added to the ticket for

> eclipselink version 2.3.1-RC1 (2.3.1.v20111018-r10243)

> 

> Kind Regards

> Nathan

> 

> 

> -----Original Message-----

> From: eclipselink-users-bounces@xxxxxxxxxxx

> [mailto:eclipselink-users-bounces@xxxxxxxxxxx] On Behalf Of Nathan

> Drew

> Sent: 01 November 2011 13:49

> To: EclipseLink User Discussions

> Subject: Re: [eclipselink-users] Bug 362564 - WebSphere specific

> randomisedorg.eclipse.persistence.exceptions.JPQLException error on

> startup

> 

> Will do - just noticed in the trace that it had the old 2.2.1 library

> running, will retry and update the ticket and let you know.

> 

> Kind Regards

> Nathan

> 

> -----Original Message-----

> From: eclipselink-users-bounces@xxxxxxxxxxx

> [mailto:eclipselink-users-bounces@xxxxxxxxxxx] On Behalf Of Tom Ware

> Sent: 01 November 2011 13:21

> To: eclipselink-users@xxxxxxxxxxx

> Subject: Re: [eclipselink-users] Bug 362564 - WebSphere specific

> randomised org.eclipse.persistence.exceptions.JPQLException error on

> startup

> 

> Can you try the latest 2.3.1 milestone (RC1)?

> 

> http://www.eclipse.org/eclipselink/downloads/milestones.php

> 

> -Tom

> 

> On 01/11/2011 9:07 AM, Nathan Drew wrote:

>> Hi,

>> 

>> Has anyone seen anything similar in WAS only? GlassFish and WebLogic

>> both seem to run without ever hitting this "random" JPQL exception on

>> startup - see

>> https://bugs.eclipse.org/bugs/show_bug.cgi?id=362564 for details.

>> 

>> Many Thanks

>> 

>> Nathan

>> 

>> 

>> 

>> _______________________________________________

>> eclipselink-users mailing list

>> eclipselink-users@xxxxxxxxxxx

>> https://dev.eclipse.org/mailman/listinfo/eclipselink-users

> _______________________________________________

> eclipselink-users mailing list

> eclipselink-users@xxxxxxxxxxx

> https://dev.eclipse.org/mailman/listinfo/eclipselink-users

> 

> 

> _______________________________________________

> eclipselink-users mailing list

> eclipselink-users@xxxxxxxxxxx

> https://dev.eclipse.org/mailman/listinfo/eclipselink-users

> 

> 

> _______________________________________________

> eclipselink-users mailing list

> eclipselink-users@xxxxxxxxxxx

> https://dev.eclipse.org/mailman/listinfo/eclipselink-users

_______________________________________________

eclipselink-users mailing list

eclipselink-users@xxxxxxxxxxx

https://dev.eclipse.org/mailman/listinfo/eclipselink-users

 



_______________________________________________
eclipselink-users mailing list
eclipselink-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/eclipselink-users

Back to the top