IBM Support

PI67790: JAVA.LANG.CLASSCASTEXCEPTION USING JPA

Fixes are available

9.0.0.2: WebSphere Application Server traditional V9.0 Fix Pack 2
8.5.5.11: WebSphere Application Server V8.5.5 Fix Pack 11
16.0.0.4: WebSphere Application Server Liberty 16.0.0.4
9.0.0.3: WebSphere Application Server traditional V9.0 Fix Pack 3
9.0.0.4: WebSphere Application Server traditional V9.0 Fix Pack 4
8.5.5.12: WebSphere Application Server V8.5.5 Fix Pack 12
9.0.0.5: WebSphere Application Server traditional V9.0 Fix Pack 5
9.0.0.6: WebSphere Application Server traditional V9.0 Fix Pack 6
8.5.5.13: WebSphere Application Server V8.5.5 Fix Pack 13
9.0.0.7: WebSphere Application Server traditional V9.0 Fix Pack 7
17.0.0.1: WebSphere Application Server Liberty 17.0.0.1
17.0.0.2: WebSphere Application Server Liberty 17.0.0.2
17.0.0.3: WebSphere Application Server Liberty 17.0.0.3
17.0.0.4: WebSphere Application Server Liberty 17.0.0.4
18.0.0.1: WebSphere Application Server Liberty 18.0.0.1
18.0.0.2: WebSphere Application Server Liberty 18.0.0.2
9.0.0.8: WebSphere Application Server traditional V9.0 Fix Pack 8
8.5.5.14: WebSphere Application Server V8.5.5 Fix Pack 14
9.0.0.9: WebSphere Application Server traditional V9.0 Fix Pack 9
18.0.0.3: WebSphere Application Server Liberty 18.0.0.3
9.0.0.10: WebSphere Application Server traditional V9.0 Fix Pack 10
18.0.0.4: WebSphere Application Server Liberty 18.0.0.4
19.0.0.1: WebSphere Application Server Liberty 19.0.0.1
8.5.5.15: WebSphere Application Server V8.5.5 Fix Pack 15
19.0.0.2: WebSphere Application Server Liberty 19.0.0.2
19.0.0.3: WebSphere Application Server Liberty 19.0.0.3
9.0.0.11: WebSphere Application Server traditional V9.0 Fix Pack 11
19.0.0.4: WebSphere Application Server Liberty 19.0.0.4
19.0.0.5: WebSphere Application Server Liberty 19.0.0.5
9.0.5.0: WebSphere Application Server traditional Version 9.0.5 Refresh Pack
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
9.0.5.1: WebSphere Application Server traditional Version 9.0.5 Fix Pack 1
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
9.0.5.2: WebSphere Application Server traditional Version 9.0.5 Fix Pack 2
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
8.5.5.17: WebSphere Application Server V8.5.5 Fix Pack 17
9.0.5.3: WebSphere Application Server traditional Version 9.0.5 Fix Pack 3
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
9.0.5.4: WebSphere Application Server traditional Version 9.0.5 Fix Pack 4
20.0.0.7: WebSphere Application Server Liberty 20.0.0.7
20.0.0.8: WebSphere Application Server Liberty 20.0.0.8
9.0.5.5: WebSphere Application Server traditional Version 9.0.5 Fix Pack 5
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
9.0.5.6: WebSphere Application Server traditional Version 9.0.5 Fix Pack 6

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • An application using JPA on WebSphere Application Server
    Network Deployment edition, version 8.5.5.9 is installed on a
    two node cluster. When activating replication of the
    "Object cache instances" used by JPA, every time that cache
    invalidation data gets generated, a
    java.lang.ClassCastException is thrown and the data is not
    invalidated on the remote node.
    
    OpenJPA       3   openjpa.Runtime:
    Trace: An exception occurred while ending the transaction.
    This exception will be re-thrown.
    Exception : java.lang.ClassCastException
    java.lang.ClassCastException:org.apache.openjpa.util.ObjectId
    incompatible with org.apache.openjpa.datacache.QueryKey
    
    RegisteredSyn E   WTRN0074E:
    Exception caught from after_completion synchronization
    operation:
    <openjpa-2.2.3-SNAPSHOT-r422266:1715851 nonfatal general error>
    org.apache.openjpa.persistence.PersistenceException:
    org.apache.openjpa.util.ObjectId incompatible with
    org.apache.openjpa.datacache.QueryKey
    at
    org.apache.openjpa.kernel.BrokerImpl.afterCompletion(BrokerImpl.
    java:2049)
    at
    com.ibm.ws.uow.ComponentContextSynchronizationWrapper.afterCompl
    etion(ComponentContextSynchronizationWrapper.java:83)
    at
    com.ibm.tx.jta.impl.RegisteredSyncs.coreDistributeAfter(Register
    edSyncs.java:359)
    

Local fix

  • n/a
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM WebSphere Application      *
    *                  Server V8.5.0, V8.5.5, and V9.0.0 who make  *
    *                  use of JPA Criteria API and an L2 cache.    *
    ****************************************************************
    * PROBLEM DESCRIPTION: An OpenJPA ObjectId incompatible with   *
    *                      org.apache.openjpa.datacache.QueryKey   *
    *                      issue occurs during serialization.      *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    When the OpenJPA DataCache is enabled
    ("openjpa.DataCache=true"), and a Criteria Query is created,
    there exists the chance that the corresponding QueryKey for
    the Criteria Query will cause serialization issues. This issue
    ultimately sufaces as a ClassCastException. In most cases a
    Criteria Query is never serialized. However, when the OpenJPA
    DataCache is enabled, and a distribued L2 cache, such as
    DynaCache is used, the Criteria Query might be serialzed. The
    reported exception will appears as follows:
    java.lang.ClassCastException
    java.lang.ClassCastException:org.apache.openjpa.util.ObjectId
    incompatible with org.apache.openjpa.datacache.QueryKey
    The root exception will appear as follows:
    Caused by: java.io.NotSerializableException:
    org.apache.openjpa.persistence.criteria.CriteriaQueryImpl
    

Problem conclusion

  • With this fix, code has been added to OpenJPA to ensure that a
    Criteria Query is properly serialized when OpenJPA DataCache
    is enabled.
    
    The fix for this APAR is currently targeted for inclusion in
    Service Levels (Fix Packs) 8.5.5.12 and 9.0.0.3 of WebSphere
    Application Server versions 8.5.5 and 9.0.0, and fix pack
    16.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

    PI67790

  • Reported component name

    WEBS APP SERV N

  • Reported component ID

    5724H8800

  • Reported release

    850

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2016-08-18

  • Closed date

    2016-10-12

  • Last modified date

    2016-10-13

  • 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

  • R850 PSY

       UP

  • R900 PSY

       UP

[{"Business Unit":{"code":"BU053","label":"Cloud \u0026 Data Platform"},"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"850","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]

Document Information

Modified date:
14 October 2021