IBM Support

IV94649: SCHEDULED JOB RUNS FROM MULTIPLE JVMS WHEN IT IS ONLY SUPPOSED TO RUN ONE TIME.

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Problem Description:
    Scheduled Job runs from Multiple JVMs when it is only supposed
    to run one time.
    
    
    Steps to Reproduce:
    Run the same memory intensive escalation instance multiple,
    overlapping times.
    
    
    CURRENT ERRONEOUS RESULT:
    All of the jobs fail.
    
    
    EXPECTED RESULT:
    Single jobs runs to successful completion.
    
    
    ADDITIONAL INFORMATION
    The reason for this issue is the overlapping cron jobs. When
    such overlap happens, you would have multiple server entries for
    the same task names. The update query constructuted to update
    the taskschedule jobs looks like (Note that I have simplified
    the query to illustrate the issue)
    
    update taskscheduler set servertimestamp = TIMESTAMP ,
    servername = 'SERVER1' where servername = 'SERVER1' and taskname
    in ( 'TASK1', 'TASK2' ) or taskname in ('TASK3', 'TASK4' ) or
    taskname in ( 'TASK5', 'TASK6' );
    
    which when someone casually looks at it, can easily ignore and
    not see an issue. The problem is, becasue of the overlapping
    tasks running on multiple servers, the above query yields
    records for other servers and not just for SERVER1.
    
    The correct query should have been
    
    update taskscheduler set servertimestamp = TIMESTAMP ,
    servername = 'SERVER1' where servername = 'SERVER1' and
    (taskname in ( 'TASK1', 'TASK2' ) or taskname in ('TASK3',
    'TASK4' ) or taskname in ( 'TASK5', 'TASK6' ));
    
    Note the brackets in which the clause is enclosed.
    
    Because of this bug, the taskscheduler never gets updated,
    because the update fails. This failure happens while the
    overlapping tasks are running in the system. This could be why
    we are seeing multiple tasks running as the servers don't see
    the updated server timestamp and try to start it. None of the
    servers are able to update the servertimestamp because of the
    update fail.
    
    
    ENVIRONMENT (SYSTEM INFO):
    IBM Maximo Asset Management 7.6.0.5
    
    11.2.0.4.0 - 64bit Production With the Partitioning option)
    
    LOCAL FIX:
    None
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * When using multiple JVMs with more then 900 crontasks        *
    * scheduled.                                                   *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * Scheduled Job runs from Multiple JVMs when it is only        *
    * supposed to run one time.                                    *
    ****************************************************************
    * RECOMMENDATION:                                              *
    * Upgrade to latest release                                    *
    ****************************************************************
    Steps to Reproduce:
    Run the same memory intensive escalation instance multiple,
    overlapping times.
    
    CURRENT ERRONEOUS RESULT:
    All of the jobs fail.
    
    EXPECTED RESULT:
    Single jobs runs to successful completion.
    
    ADDITIONAL INFORMATION
    The reason for this issue is the overlapping cron jobs. When
    such overlap happens, you would have multiple server entries for
    the same task names. The update query constructuted to update
    the taskschedule jobs looks like (Note that I have simplified
    the query to illustrate the issue)
    
    update taskscheduler set servertimestamp = TIMESTAMP ,
    servername = 'SERVER1' where servername = 'SERVER1' and taskname
    in ( 'TASK1', 'TASK2' ) or taskname in ('TASK3', 'TASK4' ) or
    taskname in ( 'TASK5', 'TASK6' );
    
    which when someone casually looks at it, can easily ignore and
    not see an issue. The problem is, becasue of the overlapping
    tasks running on multiple servers, the above query yields
    records for other servers and not just for SERVER1.
    
    The correct query should have been
    
    update taskscheduler set servertimestamp = TIMESTAMP ,
    servername = 'SERVER1' where servername = 'SERVER1' and
    (taskname in ( 'TASK1', 'TASK2' ) or taskname in ('TASK3',
    'TASK4' ) or taskname in ( 'TASK5', 'TASK6' ));
    
    Note the brackets in which the clause is enclosed.
    
    Because of this bug, the taskscheduler never gets updated,
    because the update fails. This failure happens while the
    overlapping tasks are running in the system. This could be why
    we are seeing multiple tasks running as the servers don't see
    the updated server timestamp and try to start it. None of the
    servers are able to update the servertimestamp because of the
    update fail.
    

Problem conclusion

  • Scheduled Job run from single JVM when it is only supposed to
    run one time.
    
    The fix for this APAR is contained in the following maintenance
    package:
    	 | release\fix pack | Fix Pack Release 7.6.0.8 TPAE
    

Temporary fix

Comments

APAR Information

  • APAR number

    IV94649

  • Reported component name

    MAXIMO SYSTEMS

  • Reported component ID

    5724R46AV

  • Reported release

    760

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2017-03-28

  • Closed date

    2017-03-28

  • Last modified date

    2017-07-27

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

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

Modules/Macros

  • MAXIMO
    

Fix information

  • Fixed component name

    MAXIMO SYSTEMS

  • Fixed component ID

    5724R46AV

Applicable component levels

  • R760 PSY

       UP

[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSCHPP5","label":"System Related"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"760","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
27 July 2017