Timeout properties summary
You 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 your 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.
- control_region_mdb_request_timeout
- control_region_mdb_queue_timeout_percent
- server_region_mdb_stalled_thread_dump_action
- 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,
that is 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 this property is not set, then the TCP/IP option is not set.
- Setting 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, that is 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 this property is not set, then the TCP/IP option is not set.
- Setting 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
- Specifies the 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
Attention: 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=600
Use 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 you use command-line scripting, the full name of this system property is com.ibm.CORBA.RequestTimeout.
Example: Specifying
Request timeout=2
, sets the time limit to 2 seconds.
Transaction service timeout properties
- Total Transaction Lifetime Timeout
- Specifies the 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.
Setting 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
- Specifies the 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.
Setting 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
- Specifies the 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
- Specifies the 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. You can set this value to 0 if
you 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=180
Use 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 to1
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
or1
.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 ofSESSION
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 ofSESSION
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
- Specifies the time, in seconds, that the server waits for a message driven bean (MDB) request,
that was 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. You can set this value to 0 if you 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=180
Use 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
- Specifies the 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=180
Use 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 ofSESSION
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 ofSESSION
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
- Specifies the 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
Java virtual machine (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 this property is set to 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
- Specifies the need to gather documentation prior to attempting to progress a dispatched request.
If this property is set to 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
- V3 Timeout
- Specifies the 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 that you define
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 your 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
- Specifies the amount of time, in seconds, that the TCP transport channel waits for a read or
write request to complete on a socket. Avoid trouble: 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.
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. You must 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
server_name, and then, under Web Container Settings, click .Internal variable name (for debugging purposes): If you 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 you 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
- Specifies the 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
- Specifies the 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
- Specifies the 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
- 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. You
must 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
server_name, and then, under Web Container Settings, click .
- 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. You must 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
server_name, and then, under Web Container Settings, click .Internal variable name (for debugging purposes): If you 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 you 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
- Specifies the 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
server_name, and then, under Web Container Settings, click .