IBM Support

IJ31898: UPDATEDB FAILS TO RUN WHEN OPTION RETRIEVEMESSAGESFROMSERVERONGETMESSAGE IS SET TO TRUE.

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 we create a DB2 database connection, we include the
    retrieveMessagesFromServerOnGetMessage property set to true.
    (See psdi.util.DBConnect) There's no indication why this option
    is turned on. I haven't found a good description of what this
    option is for.
    In both of the support cases, the client's
    receive a null pointer exception that originates from the DB2
    code.
    ERROR: BMXAA7025E ? Script failed while running.; null
    
    at psdi.dbmanage.ScriptRun(ScriptRun.java: 255)
    at
    psdi.dbmanage.Utility(Utility.java: 288)
    at
    psdi.tools.ScriptExecutionInfo(ScriptExecutionInfo.java: 343)
    
    at psdi.tools.ScriptExecutionInfo(ScriptExecutionInfo.java:
    332)
    at
    psdi.tools.ScriptExecutionInfo(ScriptExecutionInfo.java: 289)
    
    at psdi.tools.RunScripts(RunScripts.java: 156)
    at
    psdi.tools.UpdateDB(UpdateDB.java: 2853)
    at
    psdi.tools.UpdateDB(UpdateDB.java: 4403)
    at
    psdi.tools.UpdateDB(UpdateDB.java: 5217)
    at
    psdi.tools.UpdateDB(UpdateDB.java: 274)
    at
    psdi.tools.UpdateDB(UpdateDB.java: 3208)
    *Caused by: null
    at
    com.ibm.db2.jcc.am.gd(gd.java: 752)
    at
    com.ibm.db2.jcc.am.gd(gd.java: 66)
    at
    com.ibm.db2.jcc.am.gd(gd.java: 135)*
    at
    com.ibm.db2.jcc.am.Agent(Agent.java: 571)
    at
    com.ibm.db2.jcc.am.Agent(Agent.java: 526)
    at
    com.ibm.db2.jcc.am.Sqlca(Sqlca.java: 336)
    at com.ibm.db2.jcc.am
    .SqlExceptionContainer(SqlExceptionContainer.java: 79)
    at com.i
    bm.db2.jcc.am.SqlSyntaxErrorException(SqlSyntaxErrorException.ja
    va: 54)
    at java.lang.Throwable(Throwable.java: 203)
    at
    java.lang.Throwable(Throwable.java: 335)
    at
    java.lang.Throwable(Throwable.java: 123)
    at
    java.lang.Exception(Exception.java: 113)
    at
    java.sql.SQLException(SQLException.java: 176)
    at com.ibm.tivoli
    .maximo.dbmanage.connection.WrappedSQLException(WrappedSQLExcept
    ion.java: 46)
    at com.ibm.tivoli.maximo.dbmanage.connection.Wrap
    pedSQLException(WrappedSQLException.java: 41)
    I haven't been
    able to figure out why this exception is thrown. My theory is
    that as UpdateDB runs, it executes statements against the
    database. Sometimes these statement fail because it's an insert
    that's missing values for required columns. The code normally
    catches these exceptions to automatically fill in the missing
    values. However, in these support cases, another exception is
    thrown while the code is trying to examine the original
    exception. And if our testing is correct, exceptions may be
    returned on the commit after the statement executed. This
    causes the code fail unexpectedly.
    We sent code to the first
    client to set this option to false and it seemed to work.
    However I don't know what the implication of having this option
    off is. But I'm going to supply the 2nd client with a similar
    fix in a one-off to get them working. Both clients seem to be
    ICD, but I'm sure what this means.
    We need to figure out what
    this option is, do we need it turned on, why is this option
    causing a problem, and maybe do we need to check for this
    problem before running UpdateDB?
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * Clients using a DB2 database, with some unknown factor.      *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * When UpdateDB is running upgrade scripts and encountering a  *
    * SQL Syntax error, a null pointer exception is thrown from    *
    * the DB2 code. (The syntax error is a valid part of the       *
    * upgrade process.) This exception hides the actual exception  *
    * UpdateDB needs to recover. This happens when the             *
    * retrieveMessagesFromServerOnGetMessage flag is set when the  *
    * SQL Connection is created.                                   *
    ****************************************************************
    

Problem conclusion

  • _The fix for this APAR is contained in the following maintenance
    package: release\fix pack for Release 7.6.1.3 Product_
    

Temporary fix

Comments

APAR Information

  • APAR number

    IJ31898

  • Reported component name

    PRODUCT INSTALL

  • Reported component ID

    5724R46IT

  • Reported release

    761

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2021-03-31

  • Closed date

    2021-07-16

  • Last modified date

    2021-07-16

  • 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

    PRODUCT INSTALL

  • Fixed component ID

    5724R46IT

Applicable component levels

[{"Line of Business":{"code":"LOB59","label":"Sustainability Software"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSLKT6","label":"Maximo Asset Management"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"761"}]

Document Information

Modified date:
18 July 2021