IBM Support

PI84428: ArrayIndexOutOfBoundsException from OpenJPA for @EmbeddedId

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • After upgrading WAS from 8.0.0.9 to 8.0.0.13 started getting
    ArrayIndexOutOfBoundsException from OpenJPA for @EmbeddedId
    
    Caused by: java.lang.ArrayIndexOutOfBoundsException: Array index
    out of range: 0
     at
    org.apache.openjpa.jdbc.meta.ClassMapping.toDataStoreValue(Class
    Mapping.java:272) ~[com.ibm.ws.jpa.jar:1.0.1-SNAPSHOT]
    

Local fix

  • N/A
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM WebSphere Application      *
    *                  Server                                      *
    ****************************************************************
    * PROBLEM DESCRIPTION: When executing a JPA query involving    *
    *                      an 'IN' clause over EmbeddedId types,   *
    *                      and ArrayIndexOutOfBoundsException is   *
    *                      thrown from OpenJPA                     *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    Execution of a complex query, involving an 'IN' clause over
    Entity ID values, results in an ArrayIndexOutOfBoundsException
    from OpenJPA. The Entity ID must be an EmbeddedId type and
    this exception will not occur for basic types.
    Example:
    Query query = em.createQuery("SELECT DISTINCT Ident FROM
    IdentificationBO Ident WHERE Ident.boEmbId in
    :identificationList");
    query.setParameter("identificationList", Arrays.asList(new
    BoEmbId(new Long(1)), new BoEmbId(new Long(2)), new
    BoEmbId(new Long(3))));
    query.getResultList();
    Exception:
    Caused by: java.lang.ArrayIndexOutOfBoundsException
    at
    org.apache.openjpa.jdbc.meta.ClassMapping.toDataStoreValue(Class
    Mapping.java:272)
    at
    org.apache.openjpa.jdbc.kernel.exps.CollectionParam.calculateVal
    ue(CollectionParam.java:174)
    

Problem conclusion

  • The fix for this APAR changes the OpenJPA implementation and
    involves an update to the OpenJPA thirdparty bundle. See
    https://issues.apache.org/jira/browse/OPENJPA-2705
    
    The fix for this APAR is currently targeted for inclusion in
    Service Level (Fix Pack) 9.0.0.6 of WebSphere Application
    Server verion 9.0, Service Level (Fix Pack) 8.5.5.13 of
    WebSphere Application Server verion 8.5, Service Level (Fix
    Pack) 8.0.0.14 of WebSphere Application Server verion 8.0, and
    in fix pack 17.0.0.4 for WebSphere Application Server Liberty.
     Please refer to the Recommended Updates page for delivery
    information:
    http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI84428

  • Reported component name

    WEBSPHERE APP S

  • Reported component ID

    5724J0800

  • Reported release

    800

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2017-07-12

  • Closed date

    2017-10-12

  • Last modified date

    2017-10-18

  • 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

    WEBSPHERE APP S

  • Fixed component ID

    5724J0800

Applicable component levels

  • R800 PSY

       UP

  • R850 PSY

       UP

  • R900 PSY

       UP



Document information

More support for: WebSphere Application Server
General

Software version: 8.0

Reference #: PI84428

Modified date: 18 October 2017