IBM Support

JR53188: ISSUES WITH PREVIOUSLY SORTED NULLABLE KEY CHANGED TO NON-NULL IN NON-KEY BASED OPERATOR AND THE SAME KEY IS USED DOWNSTREAM.

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

  • In a parallel engine  job, if a previously sorted
    
    nullable key is changed to non-nullable by
    a non-key based operator(such as transformer)  and if a non-key
    operator then sets 'preserve
    sort order' then there will be error generated  downstream if
    the same key is used for sorting.
    
    The error is:
     main_program: Error when checking operator: "nulls" property
     only applies to nullable fields; on key "template_name:
     {nulls=first, case=sensitive}
    
    The pattern of the failure is as follows
    1. Job has a stage that requires sorted data(Remove duplicate).
    Since customer didn't explicitly sort it, framework inserts a
    sort with template_name as a key which is nullable.
    2. The downstream (transformer) changes the nullability of the
    sort key. Above job template_name nullability is changed from
    nullable to non-nullable.
    3. Customer uses preserve sort order in transformer
    4. The sorted data is merged again in sequential file stage.
    
    There is a conflict here - previously the sorted key is nullable
    but in sequential stage the same field is non-nullable. So
    framework is throwing the error.
    
    In the above job there is no modify adapter generated for
    transformer recognizing the key change. However the same osh has
    been working in previous release.
    

Local fix

  • - In the 1st transformer stage un-tick 'Preserves sort order'
    - Run with 1 node config file
    - Change partition type in target sequential stage or oracle CC
    to round-robin
    

Problem summary

  • ERROR DESCRIPTION:
    In a parallel engine  job, if a previously sorted
    
    nullable key is changed to non-nullable by
    a non-key based operator(such as transformer)  and if a non-key
    operator then sets 'preserve
    sort order' then there will be error generated  downstream if
    the same key is used for sorting.
    
    The error is:
     main_program: Error when checking operator: "nulls" property
     only applies to nullable fields; on key "template_name:
     {nulls=first, case=sensitive}
    
    The pattern of the failure is as follows
    1. Job has a stage that requires sorted data(Remove duplicate).
    Since customer didn't explicitly sort it, framework inserts a
    sort with template_name as a key which is nullable.
    2. The downstream (transformer) changes the nullability of the
    sort key. Above job template_name nullability is changed from
    nullable to non-nullable.
    3. Customer uses preserve sort order in transformer
    4. The sorted data is merged again in sequential file stage.
    
    There is a conflict here - previously the sorted key is nullable
    but in sequential stage the same field is non-nullable. So
    framework is throwing the error.
    
    In the above job there is no modify adapter generated for
    transformer recognizing the key change. However the same osh has
    been working in previous release.
    
    LOCAL FIX:
    - In the 1st transformer stage un-tick 'Preserves sort order'
    - Run with 1 node config file
    - Change partition type in target sequential stage or oracle CC
    to round-robin
    

Problem conclusion

  • Patches are available which solve the problem
    

Temporary fix

Comments

APAR Information

  • APAR number

    JR53188

  • Reported component name

    INFO SRVR PLATF

  • Reported component ID

    5724Q3612

  • Reported release

    B30

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2015-04-24

  • Closed date

    2015-06-05

  • Last modified date

    2015-06-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

    INFO SRVR PLATF

  • Fixed component ID

    5724Q3612

Applicable component levels

  • RB31 PSY

       UP

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSZJPZ","label":"IBM InfoSphere Information Server"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"11.3","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
05 June 2015