IBM Support

PI95283: ECLIPSELINK INSERTOBJECTQUERY CONCURRENCY FAILURE

Fixes are available

18.0.0.2: WebSphere Application Server Liberty 18.0.0.2
18.0.0.3: WebSphere Application Server Liberty 18.0.0.3
18.0.0.4: WebSphere Application Server Liberty 18.0.0.4
19.0.0.1: WebSphere Application Server Liberty 19.0.0.1
19.0.0.2: WebSphere Application Server Liberty 19.0.0.2
19.0.0.3: WebSphere Application Server Liberty 19.0.0.3
19.0.0.4: WebSphere Application Server Liberty 19.0.0.4
19.0.0.5: WebSphere Application Server Liberty 19.0.0.5
19.0.0.6: WebSphere Application Server Liberty 19.0.0.6
19.0.0.7: WebSphere Application Server Liberty 19.0.0.7
19.0.0.8: WebSphere Application Server Liberty 19.0.0.8
19.0.0.9: WebSphere Application Server Liberty 19.0.0.9
19.0.0.10: WebSphere Application Server Liberty 19.0.0.10
19.0.0.11: WebSphere Application Server Liberty 19.0.0.11
19.0.0.12: WebSphere Application Server Liberty 19.0.0.12
20.0.0.1: WebSphere Application Server Liberty 20.0.0.1
20.0.0.2: WebSphere Application Server Liberty 20.0.0.2
20.0.0.3: WebSphere Application Server Liberty 20.0.0.3
20.0.0.4: WebSphere Application Server Liberty 20.0.0.4
20.0.0.5: WebSphere Application Server Liberty 20.0.0.5
20.0.0.6: WebSphere Application Server Liberty 20.0.0.6
20.0.0.7: WebSphere Application Server Liberty 20.0.0.7
20.0.0.8: WebSphere Application Server Liberty 20.0.0.8
20.0.0.9: WebSphere Application Server Liberty 20.0.0.9
20.0.0.10: WebSphere Application Server Liberty 20.0.0.10
20.0.0.11: WebSphere Application Server Liberty 20.0.0.11
20.0.0.12: WebSphere Application Server Liberty 20.0.0.12

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Ø
    The JPA persistence provider, EclipseLink, has a potential
    concurrency issue when committing multiple transactions
    across
    multiple threads. This issue results in an EclipseLink
    exception:
    Exception Description: Modify queries require an object to
    modify.
    Query: InsertObjectQuery(null)
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM WebSphere Application      *
    *                  Server Liberty - Java Persistence APA - JPA *
    *                  2.1 & EclipseLink                           *
    ****************************************************************
    * PROBLEM DESCRIPTION: During the batch execution of queries,  *
    *                      EclipseLink can throw the exception     *
    *                      "Query: InsertObjectQuery(null)"        *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    EclipseLink has a concurrency issue with a small window of
    failure in its code. This issue allows multiple
    InsertObjectQueries to be created across several threads, but
    only the last one created will be properly used. The duplicates
    will not properly have their descriptor values set and will
    cause the exception being seen in the server logs:
    
    Exception Description: Modify queries require an object to
    modify. Query: InsertObjectQuery(null)
        at
    org.eclipse.persistence.exceptions.QueryException.objectToModify
    NotSpecified(QueryException.java:976)
        at
    org.eclipse.persistence.queries.ObjectLevelModifyQuery.checkDesc
    riptor(ObjectLevelModifyQuery.java:65)
        at
    org.eclipse.persistence.queries.InsertObjectQuery.checkForCustom
    Query(InsertObjectQuery.java:121)
        at
    org.eclipse.persistence.queries.DatabaseQuery.checkPrepare(Datab
    aseQuery.java:648)
        at
    org.eclipse.persistence.queries.DatabaseQuery.checkPrepare(Datab
    aseQuery.java:622)
        at
    org.eclipse.persistence.mappings.AggregateCollectionMapping.getA
    ndPrepareModifyQueryForInsert(AggregateCollectionMapping.java:25
    60)
        at
    org.eclipse.persistence.mappings.AggregateCollectionMapping.preI
    nsert(AggregateCollectionMapping.java:2512)
        at
    org.eclipse.persistence.descriptors.DescriptorQueryManager.preIn
    sert(DescriptorQueryManager.java:1105)
        at
    org.eclipse.persistence.internal.queries.DatabaseQueryMechanism.
    insertObjectForWrite(DatabaseQueryMechanism.java:439)
        at
    org.eclipse.persistence.queries.InsertObjectQuery.executeCommit(
    InsertObjectQuery.java:80)
    

Problem conclusion

Temporary fix

Comments

APAR Information

  • APAR number

    PI95283

  • Reported component name

    LIBERTY PROFILE

  • Reported component ID

    5724J0814

  • Reported release

    CD0

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2018-03-16

  • Closed date

    2018-05-08

  • Last modified date

    2018-05-08

  • 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

    LIBERTY PROFILE

  • Fixed component ID

    5724J0814

Applicable component levels

  • RCD0 PSY

       UP

[{"Line of Business":{"code":"LOB10","label":"Data and AI"},"Business Unit":{"code":"BU029","label":"Software"},"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"CD0"}]

Document Information

Modified date:
16 June 2021