IBM Support

JR58823: Parallel Engine MD5 checksum is computed over a column with an extra | (pipe) character

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • A customer created an application which needed to compute an
    MD5 checksum which used exactly the same
    algorithm and data as was used inside the Information Server
    Parallel Engine Checksum stage. The customer found
    that the Parallel Engine appended an extra | (pipe) character
    to column data before computing the checksum and this made it
    difficult
    for the custom application to get the same result which the
    Checksum stage got.
    The  Checksum stage computes  an  MD5-encryption result based
    which is based on appending a | (pipe) character to the input.
    For  example, an input value of "0402190691182" computes  the
    hex-code
    11dab83edaf431c9db8fdd3c1e8459b1
    The hex-code that was generated by the stage corresponds to to
    the value "0402190691182|", where | is added in the end.
    Instead the hex-code should not have | at the end and generated
    c77b7e301b5b428c5c16472e944977a2
    

Local fix

Problem summary

  • The stage Checksum provides as a result a MD5-encryption that
    has delim '|'
    For an example value of "0402190691182" provides the hex-code
    11dab83edaf431c9db8fdd3c1e8459b1
    The hex-code that was generated by the stage corresponds to to
    the value "0402190691182|", where | is added in the end.
    Instead the hex-code should not have | at the end and generated
    c77b7e301b5b428c5c16472e944977a2
    Fix Description
    ==========
    The way the columns are grouped together with the delimiter is
    managed by an underlying module which is used by other
    operators like Sequential export stage etc. Because of multiple
    stages dependency we cannot change the underlying behavior of
    not adding final delimiter.
    On the other side, what is seen is that if space is used as
    delimiter only then the final delimiter is ignored.
    Instead of generating checksum for "aaaaa|...|cccc|" I am
    suggesting the with environment variable the checksum will be
    generated for "aaaaa bbbbb cccc", where space is delimiter and
    final delimiter will be ignored as it is space.
    Customer's requirement for single column will also be met as
    checksum will be generated for "abcde" (not having final
    delimiter if it is single column) and for multiple columns the
    checksum will be generated for "aaaaa bbbbb cccc"
    The fix will be given by environment variable
    APT_CHECKSUM_DELIM_SPACE=1
    

Problem conclusion

  • A patch is available which fixes the problem.
    

Temporary fix

Comments

APAR Information

  • APAR number

    JR58823

  • Reported component name

    WIS DATASTAGE

  • Reported component ID

    5724Q36DS

  • Reported release

    B50

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2017-12-06

  • Closed date

    2018-03-27

  • Last modified date

    2018-03-27

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Modules/Macros

  • SERVER
    

Fix information

  • Fixed component name

    WIS DATASTAGE

  • Fixed component ID

    5724Q36DS

Applicable component levels

  • R912 PSY

       UP

[{"Line of Business":{"code":"LOB10","label":"Data and AI"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSVSEF","label":"InfoSphere DataStage"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"11.5"}]

Document Information

Modified date:
02 September 2021