[z/OS]

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.

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, 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
The server generates a failure response if this processing does not complete within the specified time.
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 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
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 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
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

[z/OS]

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

Deprecated feature: System SSL for z/OS has been deprecated in WebSphere Application Server Version 9.0. Start to convert any security scripts, that are based on System SSL, to use JSSE security.
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 Servers > Server Types > WebSphere application servers > server_name, and then, under Web Container Settings, click Custom properties.

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

Deprecated feature: HTTP transport support is deprecated.
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 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. 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 Servers > Server Types > WebSphere application servers > server_name, and then, under Web Container Settings, click Custom properties.

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 Servers > Server Types > WebSphere application servers > server_name, and then, under Web Container Settings, click Custom properties.