Timeout properties summary
We can use timeout properties to control the amount of time you allow for various requests to complete. Some of these properties map to internal variable names. The internal variable names are provided here to aid you with debugging.
Timer properties as they relate to configuring your message-driven beans to work with listener ports or activation specifications
For WebSphere Application Server Version 7 and later, listener ports are deprecated. Therefore plan to migrate the WebSphere MQ message-driven bean deployment configurations from using listener ports to using activation specifications. However, do not begin this migration until you are sure that the application does not have to work on application servers earlier than WebSphere Application Server Version 7. In some cases, you continue to use the WebSphere MQ message-driven bean deployment and listener ports and in other case you use the WebSphere MQ message-driven bean deployment and activation specifications.
The following properties DO NOT apply to activation specification driven message-driven bean deployment. That is, the properties require you to configure them to use the WebSphere MQ message-driven bean deployment and listener ports:
- control_region_mdb_request_timeout
- control_region_mdb_queue_timeout_percent
- server_region_mdb_stalled_thread_dump_action
The follow properties DO apply to activation specification driven message-bean deployment. That is, these properties require you to configure them to use the WebSphere MQ message-driven bean deployment and activation specifications.
- control_region_wlm_dispatch_timeout
- control_region_iiop_queue_timeout_percent
- server_region_iiop_stalled_thread_dump_action
As you follow the instructions to configure these properties, remember what properties apply to listener ports versus activation specifications.
Object Request Broker (ORB) service advanced settings
- ORB listener keep alive
- In a non-secure socket layer (SSL) environment, this property defines the value, in seconds, provided to TCP/IP on the SOCK_TCP_KEEPALIVE option for the IIOP listener. The function of this option is to verify if idle sessions are still valid by polling the client TCP/IP stack. If the client does not respond, then the session is closed. If the connection to the client is lost without the server receiving notification, then the session remains active on the server side. Use this option to clean up these unnecessary sessions.
- If not set, then the TCP/IP option is not set.
- Set the SOCK_TCP_KEEPALIVE option generates network traffic on idle sessions, which can be undesirable.
Default: 0
How to specify: To specify this property, in the administrative console, click Servers > Server Types > WebSphere application servers > server_name > Container services > ORB service > z/OS additional settings.
- ORB SSL listener keep alive
- In an SSL environment, this property defines the value, in seconds, provided to TCP/IP on the SOCK_TCP_KEEPALIVE option for the IIOP listener. The function of this option is to verify if idle sessions are still valid by polling the client TCP/IP stack. If the client does not respond, then the session is closed. If the connection to the client is lost without the server receiving notification, then the session remains active on the server side. Use this option to clean up these unnecessary sessions.
- If not set, then the TCP/IP option is not set.
- Set the SOCK_TCP_KEEPALIVE option generates network traffic on idle sessions, which can be undesirable.
Default: 0
How to specify: To specify this property, in the administrative console, click Servers > Server Types > WebSphere application servers > server_name > Container services > ORB service > z/OS additional settings.
- WLM timeout
- Maximum amount of time, in seconds, that workload management (WLM) waits for IIOP requests to complete. This time limit includes:
- The time during which the IIOP request waits on the WLM queue until being dispatched to a servant
- The time during which an application component, running in the servant, processes the request and generates a response
The server generates a failure response if this processing does not complete within the specified time.
This setting does not apply for HTTP requests or scalable messaging support; for that type of work, the value specified for the ConnectionResponseTimeout server custom property controls the time allowed for dispatching work to a servant.
Default: 300 seconds
How to specify: To specify this property, in the administrative console, click Servers > Server Types > WebSphere application servers > server_name > Container services > ORB service > z/OS additional settings.
Internal variable name (for debugging purposes): Locate the internal variable name, control_region_wlm_dispatch_timeout, in the was.env file or the JES job log.
Example: WLM timeout=600Use the control_region_iiop_queue_timeout_percent server custom property to designate a percentage of the WLM timeout as the amount of time a request can remain on the WLM queue.
- Request timeout
- Specifies, in seconds, the maximum time that the client waits for the response to a client request. The value specified for this field is a server wide setting that affects all outbound RMI/IIOP enterprise bean invocations that are made on this server.
Because the sysplex TCP/IP that runs through the coupling facility does not always tell the client when the other end of the socket has closed, clients can wait indefinitely for a response unless you set this property. Setting the Request timeout property ensures that the client gets a response within the specified time, even if the response is a COMM_FAILURE exception.
Default: 0 (unlimited). No timeout value is set.
How to specify: To specify this property, in the administrative console, click Servers > Server Types > WebSphere application servers > server_name > > Container services > ORB service > z/OS additional settings.If we use command-line scripting, the full name of this system property is com.ibm.CORBA.RequestTimeout.
Example: Specify Request timeout=2, sets the time limit to 2 seconds.
Transaction service timeout properties
- Total Transaction Lifetime Timeout
- Maximum amount of time, in seconds, that the J2EE server waits for an application transaction that originated in this server to complete if the application transaction does not set its own timeout value through the UserTransaction.setTransactionTimeout() method.
If the application transaction is not committed or rolled back within the specified time, the application transaction is marked for rollback and is allowed to continue running for a grace period of approximately 4 minutes. If the application transaction is committed or rolled back during the grace period, then the outcome of the transaction is always rolled back. If the application transaction does not complete after the grace period, then the controller abnormally ends the servant in which the application component is running with ABEND EC3 RSN=04130002 or 04130005.
Avoid trouble: Only the total transaction lifetime timeout and the maximum transaction timeout have grace periods. gotcha
Set this value to 0 indicates that the timeout does not apply, and the value of the maximum transaction timeout is used instead.
Default: 120 seconds
How to specify: To specify this property, in the administrative console, click Servers > Server Types > WebSphere application servers > server_name > Container services > Transaction service.
Internal variable name (for debugging purposes): Locate transaction_defaultTimeout in the was.env file or the JES job log file.
- Maximum transaction timeout
- Maximum amount of time, in seconds, that the J2EE server waits for an application transaction that is propagated into this server to complete. This value also applies to transactions that are started in this server, if their associated applications do not set a transaction timeout and the total transaction lifetime timeout is set to 0.
This value constrains the upper bound of all other timers. If an application uses the UserTransaction.setTransactionTimeout() method to specify a longer length of time, then the J2EE server changes the application setting to the value specified for the Maximum transaction timeout property.
Set this value to 0 indicates that the timeout does not apply, and any transactions that are affected by this timeout never time out.
Default: 300 seconds
How to specify: To specify this property, in the administrative console, click Servers > Server Types > WebSphere application servers > server_name > Container services > Transaction service.
Internal variable name (for debugging purposes): Locate the internal variable name, transaction_maximumTimeout, in the was.env file or the JES job log.
- transaction_recoveryTimeout
- Time, in minutes, that this controller uses to attempt to resolve in-doubt transactions before issuing a write-to-operator-with-reply (WTOR) message to the console that asks whether the controller should perform the following actions:
- Stop trying to resolve in-doubt transactions.
- Write transaction-related information to the job log or hardcopy log and terminate.
If the operator replies that recovery is to continue, then the controller attempts recovery for the specified amount of time before reissuing the WTOR message. After all the transactions are resolved, the controller region terminates. This property applies only to controllers in peer restart and recovery mode.
Default: 15 minutes
How to specify: To specify this property, in the administrative console, click Environment > WebSphere variables, select the appropriate node or cell from the list of available nodes and cells, and then click New. Add the transaction_recoveryTimeout property in the Name field, and specify a different value in the Value field.
Internal variable name (for debugging purposes): Locate transaction_recoveryTimeout in the was.env file or the JES job log.
Example: transaction_recoveryTimeout=7
Server custom properties
- control_region_mdb_request_timeout
- Time, in seconds, that the server waits for a message driven bean (MDB) request to receive a response. If the response is not received within the specified amount of time, then the servant might abnormally terminate with an EC3 ABEND, RSN=04130008. We can set this value to 0 if we need to disable this function.
Default: 120
How to specify: To specify this property, in the administrative console, click Environment > WebSphere variables, select the appropriate node or cell from the list of available nodes and cells, and then click New. Add the control_region_mdb_request_timeout property in the Name field, and specify a different value in the Value field.
Internal variable name (for debugging purposes): Locate control_region_mdb_request_timeout in the was.env file or the JES job log. See the application server z/OS custom properties documentation for additional information.
Example: control_region_mdb_request_timeout=180Use the control_region_mdb_queue_timeout_percent server custom property name to designate a percentage of the value specified for the control_region_mdb_request_timeout property as the amount of time that a MDB request can remain on the WLM queue. The control_region_mdb_request_timeout custom property specifies the combined amount of time that the request spends on the WLM queue and in dispatch. The control_region_mdb_queue_timeout_percent property only applies to the amount of time that the request spends on the WLM queue.
- control_region_timeout_save_last_servant
- When set to 1, this property indicates that, when the wlm_minimumSRCount custom property is set to a value that is greater than 1, then the last available servant is not abnormally terminated because of a timeout situation. The servant can be abnormally terminated after a new servant region starts to accept work requests. This setting enables work requests to continue without interruption. However, setting this property to 1 might cause a loss of system resources if the dispatched servant thread that timed out continues to loop or becomes inactive, preventing the servant threads assigned to this servant from being released.
This property can be set to 0 or 1.
The setting for this property is ignored if the wlm_dynapplenv_single_server property is set to 1.
Default: 0
How to specify: To specify this property, in the administrative console, click Environment > WebSphere variables, select the appropriate node or cell from the list of available nodes and cells, and then click New. Add the control_region_timeout_save_last_servant property in the Name field, and specify 1 in the Value field.
Internal variable name (for debugging purposes): Locate control_region_timeout_save_last_servant in the was.env file or the JES job log.
- protocol_http_timeout_output_recovery
- Controls the recovery action taken on timeouts for requests received over the HTTP transport. Specifying SERVANT allows for the termination of servants when timeouts occur. If an HTTP request is under dispatch in a servant when its timeout value is reached, then the servant terminates with an ABEND EC3 RSN=04130007. The HTTP request and socket are then cleaned up. A setting of SESSION only cleans up the HTTP request and socket. No attempt is made to disrupt the processing of a dispatched HTTP request within a servant. Using the session setting might result in a loss of resources if the dispatched HTTP request loops or becomes inactive.
Default: SERVANT
How to specify: To specify this property, in the administrative console, click Environment > WebSphere variables, select the appropriate node or cell from the list of available nodes and cells, and then click New. Add the protocol_http_timeout_output_recovery property in the Name field, and specify a different value in the Value field.
Internal variable name (for debugging purposes): Locate protocol_http_timeout_output_recovery in the was.env file or the JES job log.
Example: protocol_http_timeout_output_recovery=SERVANT
- protocol_https_timeout_output_recovery
- Controls the recovery action taken on timeouts for requests received over the HTTPS transport. Specifying SERVANT allows for the termination of servants when timeouts occur. If an HTTP request is under dispatch in a servant when its timeout value is reached, then the servant terminates with an ABEND EC3 RSN=04130007. The HTTPS request and socket are then cleaned up. A setting of SESSION only cleans up the HTTPS request and socket. No attempt is made to disrupt the processing of a dispatched HTTPS request within a servant. Using the session setting might result in a loss of resources if the dispatched HTTPS request loops or becomes inactive.
Default: SERVANT
How to specify: To specify this property, in the administrative console, click Environment > WebSphere variables, select the appropriate node or cell from the list of available nodes and cells, and then click New. Add the protocol_https_timeout_output_recovery property in the Name field, and specify a different value in the Value field.
Internal variable name (for debugging purposes): Locate protocol_https_timeout_output_recovery in the was.env file or the JES job log.
Example: protocol_https_timeout_output_recovery=SESSION
- protocol_sip_timeout_output
- Time, in seconds, that the server waits for a message driven bean (MDB) request, sent over a SIP transport channel, to receive a response. If the response is not received within the specified amount of time, then the servant might abnormally terminate with ABEND EC3 RSN=04130008. We can set this value to 0 if we need to disable this function.
Default: 120
How to specify: To specify this property, in the administrative console, click Environment > WebSphere variables, select the appropriate node or cell from the list of available nodes and cells, and then click New. Add the protocol_sip_timeout_output custom property in the Name field, and specify a different value in the Value field.
Internal variable name (for debugging purposes): Locate protocol_sip_timeout_output in the was.env file or the JES job log.
Example: protocol_sip_timeout_output=180Use the control_region_sip_queue_timeout_percent server custom property name to designate a percentage of the value specified for the protocol_sip_timeout_output property as the amount of time a request can remain on the WLM queue.
- protocol_sips_timeout_output
- Time, in seconds, that the server waits for a message driven bean (MDB) request to receive a response. If the response is not received within the specified amount of time, then the servant might abnormally terminate with ABEND EC3 RSN=04130008. Set this value to 0 to disable the function.
Default: 120
How to specify: To specify this property, in the administrative console, click Environment > WebSphere variables, select the appropriate node or cell from the list of available nodes and cells, and then click New. Add the protocol_sips_timeout_output custom property in the Name field, and specify a different value in the Value field.
Internal variable name (for debugging purposes): Locate protocol_sips_timeout_output in the was.env file or the JES job log.
Example: protocol_sips_timeout_output=180Use the control_region_sips_queue_timeout_percent server custom property name to designate a percentage of the value specified for the protocol_sips_timeout_output property as the amount of time a request can remain on the WLM queue.
- protocol_sip_timeout_output_recovery
- Controls the recovery action taken on timeouts for requests received over SIP. Specifying SERVANT allows for the termination of servants when timeouts occur. If a SIP request is under dispatch in a servant when its timeout value is reached, then the servant terminates with an ABEND EC3 RSN=04130007. The SIP request and socket are then cleaned up. A setting of SESSION only cleans up the SIP request and socket. No attempt is made to disrupt the processing of a dispatched SIP request within a servant. Using the session setting might result in a loss of resources if the dispatched SIP request loops or becomes inactive.
Default: SERVANT
How to specify: To specify this property, in the administrative console, click Environment > WebSphere variables, select the appropriate node or cell from the list of available nodes and cells, and then click New. Add the protocol_sip_timeout_output_recovery property in the Name field, and specify a different value in the Value field.
Internal variable name (for debugging purposes): Locate protocol_sip_timeout_output_recovery in the was.env file or the JES job log.
Example: protocol_sip_timeout_output_recovery=SERVANT
- protocol_sips_timeout_output_recovery
- Controls the recovery action taken on timeouts for requests received over SIPS. Specifying SERVANT allows for the termination of servants when timeouts occur. If an SIPS request is under dispatch in a servant when its timeout value is reached, then the servant terminates with an ABEND EC3 RSN=04130007. The SIPS request and socket are then cleaned up. A setting of SESSION only cleans up the SIPS request and socket. No attempt is made to disrupt the processing of a dispatched SIPS request within a servant. Using the session setting might result in a loss of resources if the dispatched SIPS request loops or becomes inactive.
Default: SERVANT
How to specify: To specify this property, in the administrative console, click Environment > WebSphere variables, select the appropriate node or cell from the list of available nodes and cells, and then click New. Add the protocol_sips_timeout_output_recovery property in the Name field, and specify a different value in the Value field.
Internal variable name (for debugging purposes): Locate protocol_sips_timeout_output_recovery in the was.env file or the JES job log.
Example: protocol_sips_timeout_output_recovery=SERVANT
- server_region_request_cputimeused_limit
- Specifies, in milliseconds, the amount of CPU time that an application request can consume.
This property helps prevent a single application request from monopolizing the available CPU time because it allows you to limit the amount of CPU time that a single request can use. A CPU monitor is invoked when a request is dispatched. If the request exceeds the specified amount of CPU time, the controller considers the request unresponsive. The controller then issues message BBOO0327, to let the requesting application know that the request was unresponsive.
The monitor, that monitors the amount of CPU time that a request is using, typically sends a signal to the dispatched thread when the amount of CPU time used exceeds the specified amount. However, there are situations when this signal cannot be delivered, and the request remains pending. For example, if the thread goes native and invokes a PC routine, the signal remains pending until the PC routine returns.
After the signal is delivered on the dispatch thread, the WLM enclave, that is associated with the dispatched request, is quiesced. This situation lowers the dispatch priority of this request, and this request should now only get CPU resources when the system is experiencing a light work load.
- server_region_stalled_thread_threshold_percent
- Percentage of threads that can become unresponsive before the controller terminates the servant. When the default value of 0 is specified, the controller terminates the servant as soon as the controller determines that at least one thread has become unresponsive.
Default: 0
How to specify: To specify this property, in the administrative console, click Environment > WebSphere variables, select the appropriate node or cell from the list of available nodes and cells, and then click New. Add the server_region_stalled_thread_threshold_percent property in the Name field, and specify a different value in the Value field.
Internal variable name (for debugging purposes): Locate server_region_stalled_thread_threshold_percent in the was.env file or the JES job log.
Example: server_region_stalled_thread_threshold_percent=5
JVM Custom properties
The following 2 JVM properties can be set by clicking Application Servers -> <SERVER> -> Process Definition -> Servant -> Java Virtual Machine -> Custom Properties.
- com.ibm.ws390.interrupt.disableBBOJ0122I
- If 1, then message BBOJ0122I is suppressed.
Data Type: Boolean
Default: 0
Used by Daemon: No. Only applicable to servant regions.
- com.ibm.ws390.interrupt.applyDumpActionPreInterrupt
- Need to gather documentation prior to attempting to progress a dispatched request. If 1, documentation specified by stalled_thread_dump_action is gathered prior to any activities to encourage the dispatched request to complete (for example, prior to driving interrupt() on any InterruptObject). The stalled_thread_dump_action defines which documentation to gather when the request is considered hung, and any attempts to complete it have failed.
Data Type: Boolean
Default: 0
Used by Daemon: No. Only applicable to servant regions.
Secure sockets layer configuration repertoires
Deprecated feature: System SSL for z/OS has been deprecated in WebSphere Application Server v8.5. Start to convert any security scripts, based on System SSL, to use JSSE security.depfeat
- V3 Timeout
- Length of time, in seconds, that a browser can reuse a System SSL Version 3 session ID without renegotiating encryption keys with the server. The repertoires defined for a server require the same V3 timeout value.
Default: 100
How to specify: To specify this property, in the administrative console, click Security > SSL application servers > New SSL repertoire
Internal variable name (for debugging purposes): The following SSL configuration repertoire timeout variables are set internally when you define the SSL repertoires:
- com_ibm_HTTP_claim_ssl_sys_v3_timeout
- com_ibm_DAEMON_claim_ssl_sys_v3_timeout
Locate these internal variables in the was.env file or the JES job log.
TCP transport channel timeout properties
- Inactivity timeout property
- Amount of time, in seconds, that the TCP transport channel waits for a read or write request to complete on a socket.
The value specified for this property might be overridden by the wait times established for channels that are higher than this channel in the timer hierarchy. For example, the wait time established for an HTTP transport channel overrides the value specified for this property for every operation except the initial read on a new socket.gotcha
Default: 0 seconds
How to specify: To specify this property, in the administrative console, click Servers > Server Types > WebSphere application servers > server_name > Web container transport chains > TCP inbound channel.
HTTP transport channel timeout properties
- ConnectionResponseTimeout
- Specifies a maximum amount of time, in seconds, that the J2EE server waits for an application component to respond to an HTTP request. Set this property for each of the HTTP transport definitions on the server. Set this property for both SSL transport and non-SSL transport. If the response is not received within the specified length of time, then the servant might fail with ABEND EC3 and RSN=04130007. Setting this timer prevents client applications from waiting for a response from an application component that might be in a deadlock, looping, or encountering some other processing problem that causes the application component to stop processing requests.
Default: 120 seconds
How to specify: To specify this property, in the administrative console, click Servers > Server Types > WebSphere application servers > server_name, and then, under Web Container Settings, click Custom properties.
Internal variable name (for debugging purposes): If we are debugging a problem in SSL-enabled transport, then locate the internal variable name, protocol_https_timeout_output, in the was.env file or the JES job log. If we are debugging a problem in non-SSL transport, then locate the internal variable name, protocol_http_timeout_output, in the was.env file or the JES job log.
Use the control_region_http_queue_timeout_percent and control_region_https_queue_timeout_percent server custom properties to designate a percentage of the ConnectionResponseTimeout property as the amount of time that a request can remain on the WLM queue.
- Persistent timeout property
- Amount of time, in seconds, that the HTTP transport channel allows a socket to remain idle between requests.
Default: 30 seconds
How to specify: To specify this property, in the administrative console, click Servers > Server Types > WebSphere application servers > server_name, and then, under Web Container Settings, click Web container transport chains > chain_name > HTTP inbound channel.
- Read timeout property
- Amount of time, in seconds, that the HTTP transport channel waits for a read request to complete on a socket after the first read request occurs. The read that is completing might be an HTTP body, such as a POST, or part of the headers if the headers were not all read as part of the first read request on the socket.
Default: 60 seconds
How to specify: To specify this property, in the administrative console, click Servers > Server Types > WebSphere application servers > server_name, and then, under Web Container Settings, click Web container transport chains > chain_name > HTTP inbound channel.
- Write timeout property
- Amount of time, in seconds, that the HTTP transport channel waits on a socket for each portion of response data to be transmitted. This timeout typically occurs in situations where responses lag behind new requests. This situation can occur when a client has a low data rate or the network interface card (NIC) for the server is saturated with I/O.
Default: 60 seconds
How to specify: To specify this property, in the administrative console, click Servers > Server Types > WebSphere application servers > server_name, and then, under Web Container Settings, click Web container transport chains > chain_name > HTTP inbound channel.
HTTP transport timeout variables
Deprecated feature: HTTP transport support is deprecated.depfeat
- ConnectionIOTimeOut
- Specifies a maximum amount of time, in seconds, that the J2EE server waits for the complete HTTP request to arrive. Set this property for each of the HTTP transport definitions on the server. Set this property for both SSL transport and non-SSL transport. The J2EE server starts the timer after the connection has been established, and cancels the connection if a complete request does not arrive within the specified maximum time limit. Specifying a value of 0 disables the timeout function.
Default: 10 seconds
How to specify: To specify this property, in the administrative console, click Servers > Server Types > WebSphere application servers > server_name, and then, under Web Container Settings, click Custom properties.
- ConnectionResponseTimeout
- Specifies a maximum amount of time, in seconds, that the J2EE server waits for an application component to respond to an HTTP request. Set this property for each of the HTTP transport definitions on the server. Set this property for both SSL transport and non-SSL transport. If the response is not received within the specified length of time, then the servant might fail with ABEND EC3 and RSN=04130007. Setting this timer prevents client applications from waiting for a response from an application component that might be in a deadlock, looping, or encountering some other processing problem that causes the application component to stop processing requests.
Default: 120 seconds
How to specify: To specify this property, in the administrative console, click Servers > Server Types > WebSphere application servers > server_name, and then, under Web Container Settings, click Custom properties.
Internal variable name (for debugging purposes): If we are debugging a problem in SSL-enabled transport, then locate the internal variable name, protocol_https_timeout_output, in the was.env file or the JES job log. If we are debugging a problem in non-SSL transport, then locate the internal variable name, protocol_http_timeout_output, in the was.env file or the JES job log.Use the control_region_http_queue_timeout_percent and control_region_https_queue_timeout_percent server custom properties to designate a percentage of the ConnectionResponseTimeout property as the amount of time that a request can remain on the WLM queue.
- ConnectionKeepAliveTimeout
- Time, in seconds, that the J2EE server waits for a subsequent request from an HTTP client on a persistent connection. If another request is not received from the same client within this time limit, then the connection is closed.
Default: 30 seconds
How to specify: To specify this property, in the administrative console, click Servers > Server Types > WebSphere application servers > server_name, and then, under Web Container Settings, click Custom properties.
Related concepts
Secure transports with JSSE and JCE programming interfaces
Related tasks
Diagnosing problems (using diagnosis tools)
Dump control settings Application server custom properties for z/OS Workload classification file Reference topic