IBM Support

PI12311: The ''=='' operation may fail as false when using enum

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • When an enum type is defined with a method, it is not being
    recognized as enum during deserialization. This means that the
    Enum.valueOf( ) method is not being used to resolve the enum.
    This results in a new Object that is created and that has a
    different Object ID from the static enum definition.  The side
    effect of this from an application perspective is that the ==
    comparison reports false for values that are indeed equivalent.
    This will also moderately increase the memory usage since each
    enum is a new object within the system.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  Applications running grids with XIO and     *
    *                  COPY_TO_BYTES maps using enum types         *
    *                  that defined methods in their               *
    *                  implementation.                             *
    ****************************************************************
    * PROBLEM DESCRIPTION: An enum type is defined with a method,  *
    *                      and it is not recognized as a           *
    *                      enum during deserialization.            *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    When an enum type is defined with a method, it is not being
    recognized as enum during deserialization. This means that the
    Enum.valueOf( ) method is not being used to resolve the enum.
    This results in a new Object that is created and that has a
    different Object ID from the static enum definition.  The side
    effect of this from an application perspective is that the ==
    comparison reports false for values that are indeed equivalent.
    This will also moderately increase the memory usage since each
    enum is a new object within the system.
    

Problem conclusion

  • A code change to resolve the enum correctly is made to
    correct this problem.  Installing the update on the clients
    impacted by this problem will resolve the situation.  The data
    in the grid does not need to be reloaded in order to resolve
    this problem.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI12311

  • Reported component name

    WS EXTREME SCAL

  • Reported component ID

    5724X6702

  • Reported release

    860

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2014-02-21

  • Closed date

    2014-03-05

  • Last modified date

    2014-03-05

  • 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

    WS EXTREME SCAL

  • Fixed component ID

    5724X6702

Applicable component levels

  • R860 PSY

       UP

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSTVLU","label":"WebSphere eXtreme Scale"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"860","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
05 March 2014