IBM Support

PH24526: ECLIPSELINK EXCEPTION AFTER MIGRATING TO LIBERTY 19.0.0.12/20.0.0.3

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • After migrating to Liberty 19.0.0.12/20.0.0.3, the following
    exception is logged in the Liberty logs:
    
    
    org.eclipse.persistence.exceptions.DescriptorException
    Description of the exception: The implementation of the
    persistence unit [cops] failed. Close all factories for this
    persistence unit.
    Internal exception: Exception [EclipseLink-93] (Eclipse
    Persistence Services - 2.6.8.WAS-v20200108-cc2fb8c):
    org.eclipse.persistence.exceptions.DescriptorException
    Description of the exception: The table [XXX] does not exist in
    this descriptor.
    at
    org.eclipse.persistence.exceptions.DescriptorException.tableNotP
    resent(DescriptorException.java:1642)
    at
    org.eclipse.persistence.descriptors.ClassDescriptor.getTable(Cla
    ssDescriptor.java:2779)
    at
    org.eclipse.persistence.descriptors.ClassDescriptor.buildField(C
    lassDescriptor.java:882)
    at
    org.eclipse.persistence.mappings.OneToOneMapping.initializeForei
    gnKeys(OneToOneMapping.java:1199)
    at
    org.eclipse.persistence.mappings.OneToOneMapping.initialize(OneT
    oOneMapping.java:1145)
    at
    org.eclipse.persistence.descriptors.ClassDescriptor.initialize(C
    lassDescriptor.java:3125)
    at
    org.eclipse.persistence.mappings.AggregateObjectMapping.initiali
    ze(AggregateObjectMapping.java:1426)
    at
    org.eclipse.persistence.descriptors.ClassDescriptor.initialize(C
    lassDescriptor.java:3125)
    at
    org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.in
    itializeDescriptors(DatabaseSessionImpl.java:698)
    at
    org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.in
    itializeDescriptors(DatabaseSessionImpl.java:657)
    at
    org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.in
    itializeDescriptors(DatabaseSessionImpl.java:588)
    at
    org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.po
    stConnectDatasource(DatabaseSessionImpl.java:824)
    at
    org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.lo
    ginAndDetectDatasource(DatabaseSessionImpl.java:768)
    at
    org.eclipse.persistence.internal.jpa.EntityManagerFactoryProvide
    r.login(EntityManagerFactoryProvider.java:256)
    at
    org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.depl
    oy(EntityManagerSetupImpl.java:759)
    at
    org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegat
    e.getAbstractSession(EntityManagerFactoryDelegate.java:207)
    at
    org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegat
    e.createEntityManagerImpl(EntityManagerFactoryDelegate.java:307)
    at
    org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.cr
    eateEntityManagerImpl(EntityManagerFactoryImpl.java:337)
    at
    org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.cr
    eateEntityManager(EntityManagerFactoryImpl.java:318)
    at
    com.ibm.ws.jpa.container.v21.internal.JPA21Runtime.createEntityM
    anagerInstance(JPA21Runtime.java:110)
    at
    com.ibm.ws.jpa.management.JPAEMPool.getEntityManager(JPAEMPool.j
    ava:155)
    at
    com.ibm.ws.jpa.management.JPATxEntityManager.getEMInvocationInfo
    (JPATxEntityManager.java:254)
    at
    com.ibm.ws.jpa.management.JPATxEntityManager.getEMInvocationInfo
    (JPATxEntityManager.java:164)
    at
    com.ibm.ws.jpa.management.JPAEntityManager.createNamedQuery(JPAE
    ntityManager.java:586)
    
    The following FFDC is also produced:
    Exception = javax.persistence.PersistenceException
    Source = com.ibm.ws.cdi.ejb.impl.EJBCDIInterceptorWrapper
    probeid = 68
    Stack Dump = javax.persistence.PersistenceException: XXXX
    [EclipseLink-28019] (Eclipse Persistence Services -
    2.6.8.WAS-v20200108-cc2fb8c):
    org.eclipse.persistence.exceptions.EntityManagerSetupException
    Description of the exception: The implementation of the
    persistence unit [cops] failed. Close all factories for this
    persistence unit.
    Internal exception: Exception [EclipseLink-93] (Eclipse
    Persistence Services - 2.6.8.WAS-v20200108-cc2fb8c):
    org.eclipse.persistence.exceptions.DescriptorException
    Description of the exception: The table [XXX] does not exist in
    this descriptor.
    at
    org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.crea
    teDeployFailedPersistenceException(EntityManagerSetupImpl.java:8
    97)
    at
    org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.depl
    oy(EntityManagerSetupImpl.java:837)
    at
    org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegat
    e.getAbstractSession(EntityManagerFactoryDelegate.java:207)
    at
    org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegat
    e.createEntityManagerImpl(EntityManagerFactoryDelegate.java:307)
    at
    org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.cr
    eateEntityManagerImpl(EntityManagerFactoryImpl.java:337)
    at
    org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.cr
    eateEntityManager(EntityManagerFactoryImpl.java:318)
    at
    com.ibm.ws.jpa.container.v21.internal.JPA21Runtime.createEntityM
    anagerInstance(JPA21Runtime.java:110)
    
    
    Using a javax.persistence.JoinColumn mapping, within a
    javax.persistence.Embeddable, if the foreign key 'name' is the
    same as the referencedColumnName, EclipseLink will throw an
    exception. This issue was introduced as a regression in PH20729
    

Local fix

  • N/A
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM WebSphere Application      *
    *                  Server - Java Persistence API - JPA 2.1 &   *
    *                  EclipseLink                                 *
    ****************************************************************
    * PROBLEM DESCRIPTION: EclipseLink throws an exception on      *
    *                      application start, due to a             *
    *                      regression in PH20729                   *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    If an @Embeddable class contains a @JoinColumn mapping
    where the join column 'name' matches the
    'referencedColumnName',
    EclipseLink will throw the following exception on application
    start, when the object model is validated:
    ´´´
    Exception Description: The table [BASE_CHILD] is not present
    in this descriptor.
    Descriptor:
    RelationalDescriptor(org.eclipse.persistence.jpa.test.mapping.mo
    del.BaseParent--> [DatabaseTable(BASE_CHILD)])
    ´´´
    

Problem conclusion

Temporary fix

Comments

APAR Information

  • APAR number

    PH24526

  • Reported component name

    WEBS APP SERV N

  • Reported component ID

    5724H8800

  • Reported release

    900

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2020-04-17

  • Closed date

    2020-05-29

  • Last modified date

    2020-06-30

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    WEBS APP SERV N

  • Fixed component ID

    5724H8800

Applicable component levels

  • R900 PSY

       UP

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"9.0","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
02 November 2021