Graceful Node Shutdown

Upon receiving a shut down request for a Runtime Node from a user, the TIBCO ActiveMatrix Platform informs all system components in that node about the impending node shut down event. The components can then perform appropriate house keeping functions before the node proceeds to shut down. However, there is a small window of time, during which some in-flight JMS message could be lost. The Graceful Node Shutdown feature handles this issue in order to minimize the likelihood of these potentially mission-critical failures during the node shutdown.

This functionality is added by enhancing the back-end processing of the existing shutdown commands; no new commands or actions have been added at this time.

With this enhancement, when the Stop command is issued for a given node, the following sequence unfolds in the Platform:

  1. The Service Bindings no longer accept new messages.
  2. A timer is used to monitor the Graceful Node Shutdown time out. This timer is set through TRA property com.tibco.amx.node.graceful.timeoutInMin.
  3. Request-Response Message Exchanges and Request-only Message Exchanges proceed as follows:
    1. For Request-Response Message Exchanges, the Service Binding ensures that Responses have been sent for all the in-flight (outstanding) messages, and then informs the platform to proceed with the shutdown.
    2. For Request-only Message Exchanges, the Service Binding ensures that all the in-flight (outstanding) messages have been processed and delivered to the subsequent components, and then informs the platform to proceed with the shutdown.
  4. The node proceeds to shut down gracefully on the following conditions:
    1. If all the in-flight messages are processed within the Graceful Node Shutdown time out period, the platform continues with the shutdown.
    2. If the given Graceful Node Shutdown period is elapsed, the platform continue with the shut down even if in-flight messages are awaiting completion of processing .

Prerequisites

  • Graceful Shutdown is supported only on the SOAP/JMS binding.
  • Graceful Node Shutdown feature is available on Runtime Node if all the Applications are completely deployed on the same Runtime Node or mirrored across multiple Runtime node in a High Availability or Load Balanced configuration.
  • Graceful Node Shutdown is not available for Runtime Nodes which has applications whose fragments are distributed across multiple Runtime Nodes.
  • Graceful Node Shutdown is not available for Runtime Nodes which has applications containing Policies