APAR status
Closed as program error.
Error description
A message flow cannot be stopped while it is currently processing a message. The stop request will wait for any message that is currently being processed to finish before performing the stop. The IntegrationAPI can be used to stop a message flow using the MessageFlowProxy object. A Java Compute node can be used to retrieve a MessageFlowProxy object that represents the message flow that the Java Compute node is deployed in. It is therefore possible to stop a message flow from within that same message flow. At v10 such requests from the IntegrationAPI are processed asynchronously by default, meaning that the message flow can continuing processing immediately after it has issue the stop request which will allow the stop request to be processed once the flow has finished. At v11 such requests are now synchronous, meaning they will block the message flow until a response has been returned for the request. This is an intentional change in behaviour as documented in the Knowledge Center. Since this request is now synchronous, it prevents the message flow from finishing until a response has been received. This leads to a deadlock where the flow cannot be stopped because it is waiting for itself to be stopped. Eventually the stop request will timeout and the flow will continue with an exception, after approximately 5 minutes.
Local fix
Use a HTTPAsyncRequest node to manually invoke POST to the http: //hostname:adminPort/apiv2/servers/EG_NAME/applications/APP_NAME /messageflows/FLOW_NAME/teardown. Deploy an associated HTTPAsyncResponse node that is wired to any node, e.g. a Trace node, to make the deployment valid.
Problem summary
**************************************************************** USERS AFFECTED: All users of IBM App Connect Enterprise v11 who use the Integration API within a Java Compute Node to stop the message flow that the Java Compute Node is deployed in. Platforms affected: MultiPlatform **************************************************************** PROBLEM DESCRIPTION: A message flow cannot be stopped while it is currently processing a message. The stop request will wait for any message that is currently being processed to finish before performing the stop. The IntegrationAPI can be used to stop a message flow using the MessageFlowProxy object. A Java Compute node can be used to retrieve a MessageFlowProxy object that represents the message flow that the Java Compute node is deployed in. It is therefore possible to stop a message flow from within that same message flow. At v10 such requests from the IntegrationAPI are processed asynchronously by default, meaning that the message flow can continuing processing immediately after it has issue the stop request which will allow the stop request to be processed once the flow has finished. At v11 such requests are now synchronous, meaning they will block the message flow until a response has been returned for the request. This is an intentional change in behaviour as documented in the Knowledge Center. Since this request is now synchronous, it prevents the message flow from finishing until a response has been received. This leads to a deadlock where the flow cannot be stopped because it is waiting for itself to be stopped. Eventually the stop request will timeout and the flow will continue with an exception, after approximately 5 minutes.
Problem conclusion
The IntegrationAPI will now detect when a MessageFlowProxy.stop() call is being issued from within a Java Compute node and is targeting the same message flow that the node is deployed in. In such situations the REST API v2 stop request will be issued asynchronously and a dummy status code of 200 will be returned. --------------------------------------------------------------- The fix is targeted for delivery in the following PTFs: Version Maintenance Level v11.0 11.0.0.10 The latest available maintenance can be obtained from: http://www-01.ibm.com/support/docview.wss?rs=849&uid=swg27006041 If the maintenance level is not yet available,information on its planned availability can be found on: http://www-1.ibm.com/support/docview.wss?rs=849&uid=swg27006308 ---------------------------------------------------------------
Temporary fix
Comments
APAR Information
APAR number
IT33541
Reported component name
APP CONNECT ENT
Reported component ID
5724J0550
Reported release
B00
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2020-07-14
Closed date
2020-08-25
Last modified date
2020-08-25
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
APP CONNECT ENT
Fixed component ID
5724J0550
Applicable component levels
[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSDR5J","label":"IBM App Connect Enterprise"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"B00","Line of Business":{"code":"LOB45","label":"Automation"}}]
Document Information
Modified date:
26 August 2020