IBM Support

PI98295: The dispatch (JMS) message for a stopped job can, if later consumed, cause a later restart execution of that job to fail.

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • The dispatch (JMS) message for a stopped job can, if later
    consumed, cause a later restart execution of that job to
    fail.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  Users of IBM WebSphere Application Server   *
    *                  Liberty Batch JMS dispatcher/executor       *
    *                  function                                    *
    ****************************************************************
    * PROBLEM DESCRIPTION: Issues restarting and mapping operation *
    *                      groups to batch jobs when using JMS     *
    *                      dispatcher function                     *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    The dispatch (JMS) message for a stopped job can, if later
    consumed, cause a later restart execution of that job to fail.
    Using the batchManager REST API, a response code of 409 or 500
    may be seen, with an error such as this in the FFDC logs
    directory:
    
    Stack Dump = javax.batch.operations.JobRestartException: The job
    instance 35 cannot be restarted because it is still in a non-
    final state.
        at
    com.ibm.jbatch.container.ws.BatchStatusValidator$Helper.validate
    JobInstanceFailedOrStopped(BatchStatusValidator.java:209)
        at
    com.ibm.jbatch.container.ws.BatchStatusValidator$Helper.access$2
    00(BatchStatusValidator.java:104)
        at
    com.ibm.jbatch.container.ws.BatchStatusValidator.validateStatusA
    tExecutionRestart(BatchStatusValidator.java:70)
        at
    com.ibm.ws.jbatch.rest.internal.BatchManagerImpl.restartJobInsta
    nce(BatchManagerImpl.java:515)
        at
    com.ibm.ws.jbatch.rest.internal.resources.JobInstances.restartJo
    bInstance(JobInstances.java:615)
        at
    com.ibm.ws.jbatch.rest.internal.resources.JobInstances.access$90
    0(JobInstances.java:102)
        at
    com.ibm.ws.jbatch.rest.internal.resources.JobInstances$JobInstan
    ceHandler.put(JobInstances.java:315)
        at
    com.ibm.ws.jbatch.rest.internal.resources.RequestRouter.routeReq
    uestInternal(RequestRouter.java:80)
        at
    com.ibm.ws.jbatch.rest.internal.resources.RequestRouter.routeReq
    uest(RequestRouter.java:60)
        at
    com.ibm.ws.jbatch.rest.internal.resources.JobInstances.handleReq
    uest(JobInstances.java:235)
        at
    com.ibm.ws.rest.handler.internal.service.RESTHandlerContainerImp
    l.handleRequest(RESTHandlerContainerImpl.java:453)
        at
    com.ibm.ws.rest.handler.internal.servlet.RESTProxyServlet.handle
    WithDelegate(RESTProxyServlet.java:119)
        at
    com.ibm.ws.rest.handler.internal.servlet.RESTProxyServlet.servic
    e(RESTProxyServlet.java:64)
        at
    javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
    
    A separate problem can arise when the batch group security is
    configured in the batch executor server to allow group members
    to view and operate upon a set of job.   This is done with the
    "<operationGroup>" config element, a child of the
    "<batchJmsExecutor>" element.
    
    If the job is stopped while  the JMS message sits on the JMS
    queue, before it is consumed by an executor, at which time the
    group mapping is established and persisted, then there is no
    ability to establish the group mapping for this job instance.
    This would mean that only the original submitter or an admin
    (who can operate on every job in the domain) can view or operate
    upon this job instance.
    

Problem conclusion

  • The instance state transition logic was enhanced with additional
    checks for stopping, to handle an earlier JMS message being
    consumed later on.  The existing CWWKY0214W message will now be
    seen in a couple more cases, too, if a JMS message associated
    with an older
    (not the most-recent) execution is consumed within the executor.
    The group security mapping to the configured operation group(s)
    is now done on restart as well as start, but only if, on
    restart, there is an empty operation group mapping for this job
    instance in the database.     With this approach, it is not
    possibly to modify the operation group mapping for an instance
    on restart.  It is only possible to establish a new, non-empty
    mapping, in the case that one has never been seen in any earlier
    (start or restart) execution.
    
    The fix for this APAR is currently targeted for inclusion in fix
    pack 18.0.0.2.  Please refer to the Recommended Updates page for
    delivery information:
    http://www.ibm.com/support/docview.wss?rs=180&uid=swg270049
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI98295

  • Reported component name

    LIBERTY PROFILE

  • Reported component ID

    5724J0814

  • Reported release

    CD0

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2018-05-23

  • Closed date

    2018-05-31

  • Last modified date

    2018-05-31

  • 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

    LIBERTY PROFILE

  • Fixed component ID

    5724J0814

Applicable component levels

  • RCD0 PSY

       UP



Document information

More support for: WebSphere Application Server

Software version: CD0

Reference #: PI98295

Modified date: 31 May 2018


Translate this page: