Fixes are available
18.0.0.2: WebSphere Application Server Liberty 18.0.0.2
18.0.0.3: WebSphere Application Server Liberty 18.0.0.3
18.0.0.4: WebSphere Application Server Liberty 18.0.0.4
19.0.0.1: WebSphere Application Server Liberty 19.0.0.1
19.0.0.2: WebSphere Application Server Liberty 19.0.0.2
19.0.0.3: WebSphere Application Server Liberty 19.0.0.3
19.0.0.4: WebSphere Application Server Liberty 19.0.0.4
19.0.0.5: WebSphere Application Server Liberty 19.0.0.5
19.0.0.6: WebSphere Application Server Liberty 19.0.0.6
19.0.0.7: WebSphere Application Server Liberty 19.0.0.7
19.0.0.8: WebSphere Application Server Liberty 19.0.0.8
19.0.0.9: WebSphere Application Server Liberty 19.0.0.9
19.0.0.10: WebSphere Application Server Liberty 19.0.0.10
19.0.0.11: WebSphere Application Server Liberty 19.0.0.11
19.0.0.12: WebSphere Application Server Liberty 19.0.0.12
20.0.0.1: WebSphere Application Server Liberty 20.0.0.1
20.0.0.2: WebSphere Application Server Liberty 20.0.0.2
20.0.0.3: WebSphere Application Server Liberty 20.0.0.3
20.0.0.4: WebSphere Application Server Liberty 20.0.0.4
20.0.0.5: WebSphere Application Server Liberty 20.0.0.5
20.0.0.6: WebSphere Application Server Liberty 20.0.0.6
20.0.0.7: WebSphere Application Server Liberty 20.0.0.7
20.0.0.8: WebSphere Application Server Liberty 20.0.0.8
20.0.0.9: WebSphere Application Server Liberty 20.0.0.9
20.0.0.10: WebSphere Application Server Liberty 20.0.0.10
20.0.0.11: WebSphere Application Server Liberty 20.0.0.11
20.0.0.12: WebSphere Application Server Liberty 20.0.0.12
21.0.0.3: WebSphere Application Server Liberty 21.0.0.3
21.0.0.4: WebSphere Application Server Liberty 21.0.0.4
21.0.0.5: WebSphere Application Server Liberty 21.0.0.5
21.0.0.6: WebSphere Application Server Liberty 21.0.0.6
21.0.0.7: WebSphere Application Server Liberty 21.0.0.7
21.0.0.8: WebSphere Application Server Liberty 21.0.0.8
21.0.0.9: WebSphere Application Server Liberty 21.0.0.9
21.0.0.1: WebSphere Application Server Liberty 21.0.0.1
21.0.0.2: WebSphere Application Server Liberty 21.0.0.2
21.0.0.10: WebSphere Application Server Liberty 21.0.0.10
21.0.0.11: WebSphere Application Server Liberty 21.0.0.11
21.0.0.12: WebSphere Application Server Liberty 21.0.0.12
22.0.0.1: WebSphere Application Server Liberty 22.0.0.1
22.0.0.2: WebSphere Application Server Liberty 22.0.0.2
22.0.0.3: WebSphere Application Server Liberty 22.0.0.3
22.0.0.4: WebSphere Application Server Liberty 22.0.0.4
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
Modified date:
04 May 2022