IBM Support

PI74409: SERVICE UPDATE OF DB2 11 NATIVE RESTFUL SERVICES SUPPORT 17/04/21 PTF PECHANGE

A fix is available

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as new function.

Error description

  • DB2REST
    See PI74515 for DB2 12 for z/OS.
    Multiple improvements to the RESTful services support in DB2
    are being delivered.
    The following abends during RESTful services
    may occur
    04E-00D31010 DSNLILLM.DSNLIRTR 0033
    **************************************************************
    Additional Symptoms and Keywords:
     ABEND0C4 AB0C4 S00C4 0C4
      0C4-00000038 00000038 RC00000038
      0C4-0000003A 0000003A RC0000003A
       DSNLIRTR DSNLIRTR+00C34 00C34 OFFSET00C34
     ABEND04E AB04E S004E 04E
      04E-00D31010 00D31010 RC00D31010
       DSNLIRTR DSNLIRTR:0009 0009 VRADC0009 ABID0009
                DSNLIRTR:0033 0033 VRADC0033 ABID0033
      04E-00D35011 00D35011 RC00D35011
       DSNLZD00 DSNLZD00:0015 0015 VRADC0015 ABID0015
      0C4-03A DSNLILLM.DSNLIRTR+05BA
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All users of DB2 11 for z/OS planning to     *
    *                 use DB2 native RESTful services support.     *
    ****************************************************************
    * PROBLEM DESCRIPTION: Update to the DB2 11 native RESTful     *
    *                      services support.                       *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    This APAR provides a service update to the DB2 11 native
    RESTful services support.  In particular, this service update
    APAR addresses the following reported issues:
    - Possible ABEND 0C4,LOC=DSNLILLM.DSNLIRTR+05BA when an
      incoming request is terminated/closed by the client with
      less then six (6) bytes being sent.  It is believed that
      this condition may be triggered by specific program behavior,
      such as network security port scanners.
    - ABEND 04E-00D31010, LOC:DSNLIRTR:0009 due to a failure
      during the WLM classification of a REST service call.  The
      WLM classify failure is caused by an incorrect value being
      used for the Procedure Name parameter.
    - ABEND 04E-00D31010, LOC:DSNLIRTR:0033 when attempting to
      create or drop a native REST service, and the input JSON
      message body contains JSON syntax errors.  The expected
      native REST response should be an error message reply
      instead of a DB2 abend.
    - Possible ABEND 04E-00D35011, LOC=DSNXGRDS.DSNLZD00:0015
      during the native REST internal describe service processing,
      caused by an uninitialized field in a DB2 internal control
      block (that was passed by module DSNLJACC).
    - The DB2 native REST service JSON parser is incorrectly
      mapping input string values of "null", "true", and "false",
      to the JSON special values of null, true, and false,
      respectively.  This incorrect mapping of the input string
      values of "null", "true", and "false" by the JSON parser can
      result in incorrect input or output results (incorrout).
      To illustrate the problem, consider an input JSON message
      body key/value pair consisting of the key "COL1" and a value
      that is the string "null", which would be represented as:
      { "COL1" : "null" }
      The DB2 native REST service JSON parser was incorrectly
      treating this example input JSON "null" string as having the
      value of JSON null.  In other words, it was incorrectly
      treating the input as if it was written as:
      { "COL1" : null }
      This incorrect JSON parser behavior would result in the
      "COL1" input having the incorrect value of SQL NULL, instead
      of the correct value of SQL character 'null'.
    

Problem conclusion

Temporary fix

Comments

  • The following changes have been made to address these problems:
    - Logic has been changed to no longer attempt to access the
      message buffer storage once the socket/connection has been
      terminated.
    - Logic has been changed to pass the expected null Procedure
      Name parameter for REST service WLM classification.
    - Syntax errors in the input JSON message body when creating
      or dropping a native REST service will now generate an
      appropriate "JSON message body contains a syntax error"
      reply message.
    - Logic has been changed to correctly initialize DB2 internal
      control block fields.
    - The DB2 native REST JSON parser logic has been changed to
      correctly distinguish between JSON input string values of
      "null", "true", and "false" and the JSON null, true, and
      false values.
    
    The DB2 Information APAR II14827 MUST be reviewed for
    any IMPORTANT additional documentation, and any known
    limitations or restrictions related to the DB2 native REST
    services support.
    
    The following new reason code is added to the DB2 Codes manual.
    
    00D36800
    
    Explanation: To satisfy an unconditional request for storage
    for a RESTFul service execution reply message, the RESTful
    service execution function needs additional storage to expand
    the reply buffer. However, the RESTful service reply message
    buffer is already at the maximum allowed size.
    System action: The agent is abended.
    
    Operator response: Notify the system programmer.
    
    System programmer response: If you suspect an error in DB2,
    you might need to report the problem. For information about
    identifying and reporting the problem, see Collecting
    diagnostic data and Obtaining DB2 Diagnosis Guide and
    Reference.
    
    Problem determination: Diagnostic information is recorded
    in SYS1.LOGREC, and a DB2 dump is requested.
    Collect the following diagnostic items:
    - Console output from the system on which the job was run,
    and a listing of the SYSLOG data set for the period of
    time that spans the failure.
    - Dynamic dump, taken to SYS1.DUMPxx data set, by DB2
    (04E and 04F abends).
    - SVC dump (or system dump), taken to SYS1.DUMPxx data
    set, as result of an operator-initiated dump command
    or SLIP trap exit.
    - Listing of SYS1.LOGREC data set, obtained by executing
    IFCEREP1.
    

APAR Information

  • APAR number

    PI74409

  • Reported component name

    DB2 OS/390 & Z/

  • Reported component ID

    5740XYR00

  • Reported release

    B10

  • Status

    CLOSED UR1

  • PE

    YesPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2017-01-04

  • Closed date

    2017-02-17

  • Last modified date

    2017-04-21

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

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

    UI44779

Modules/Macros

  •    DSNLCBFM DSNLIRTR DSNLJACC DSNLJDSC DSNLJEMG
    DSNLJGUS DSNLJMUS DSNLJSPS DSNLJSSG DSNLJSSP DSNLJXUS
    

Fix information

  • Fixed component name

    DB2 OS/390 & Z/

  • Fixed component ID

    5740XYR00

Applicable component levels

  • RB10 PSY UI44779

       UP17/03/04 P F703

Fix is available

  • Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.



Document information

More support for: DB2 for z/OS

Software version: B10

Reference #: PI74409

Modified date: 21 April 2017


Translate this page: