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