This document describes the timeout settings for EntireX Broker and covers the following topics:
The timeout duration can be specified in seconds (S), minutes (M) or hours (H), for example 100M. If no unit is specified, the default is seconds.
Timeout Setting | Description |
---|---|
Client Non-activity Timeout |
Any broker stub application that issues a The |
Server Non-activity Timeout |
Any broker stub application that issues a The |
Conversation Non-activity Timeout |
A conversation begins when a client successfully sends a message
addressed to a server. The Broker allocates a unique conversation, even
before the server receives this message. Broker also allocates resources to
manage each conversation. A conversation remains active as long as messages are
being exchanged with this conversation ID. The conversation remains inactive as
long as neither a client nor a server makes a Broker request, referencing this
conversation ID. The resources allocated to a conversation are freed when
either a client or a server issues The |
UOW Lifetime (UWTIME) |
Each UOW has a lifetime value associated with it. This is the time that a UOW is allowed to exist without being completed. A UOW is completed when it is successfully
If a UOW is in |
Transport Timeouts |
If Entire Net-Work is used to transmit a Broker request, the setting of the Entire Net-Work
|
The interdependency between different timeouts is described as follows:
A server or a client engaged in a conversation will not be timed out
until the UOW that they are handling times out. CLIENT-NONACT
(or SERV-NONACT
)
has no effect if it is shorter than UWTIME
.
A conversation may time out earlier than either the client or the
server. When an existing conversation times out, the participating server and
client can start a new conversation. We recommend you set the CONV-NONACT
shorter than CLIENT-NONACT
(or SERV-NONACT
).
If either the client or server times out before the conversation does, the conversation does not continue, that is, it reaches end of conversation (EOC). Nevertheless, the surviving participant (client or server) can continue and receive any unread messages.
When a conversation times out, Broker checks for the status of all
UOWs in this conversation. Any UOW with status RECEIVED
or DELIVERED
is backed
out and enters into ACCEPTED
status. "Accepted" means that the UOW can be received by anyone (with CONV-ID=NEW
),
and that the conversation has lost the link to the consumer of the UOW.
Note:
The link to the consumer is lost only for
the first UOW in a conversation when the status changes to ACCEPTED
; with subsequent UOWs, the link is not lost.
A common relationship between these three timeout values is as follows, although this may not be the optimum combination in all situations:
UWTIME
> SERV-NONACT
> CLIENT-NONACT
> CONV-NONACT
In common situations, this combination will achieve optimal resource consumption without recourse to repeatedly restarting applications.
Timeout behavior remains the same as in UOW messages, except that UWTIME
(UOW lifetime attribute) is not applicable here. The optimal hierarchy between
the three timeout values is shown below:
SERV-NONACT
> CLIENT-NONACT
> CONV-NONACT
When any client or server or conversation times out, the Broker does not
immediately notify the application. The application receives notification when
it makes its next Broker request. The following are the error messages commonly
associated with the respective timeouts. The errors listed below can occur in
the case of blocked and non-blocked ACI calls. A blocked call is one in which
the ACI field WAIT
is set to either "YES" or a non-zero numeric value.
See message 00740074.
In the following errors, it is assumed that client only has timed out, while the server and conversation are active.
Error Number | Error Text | Explanation |
---|---|---|
00020002 | User does not exist | When the timed out client tries to make a Broker request. |
00030012 | EOC due to LOGOFF of partner
|
The surviving partner (server) receives this error when attempting to receive on a conversation which is closed because the client has timed out. If there are any unread messages, the server successfully receives them. |
In the following errors, it is assumed that only the server has timed out, while the client and conversation are active.
Error Number | Error Text | Explanation |
---|---|---|
00020002 | User does not exist | When the timed out client tries to make a Broker request. |
00030067 | Partner timeout occurred | The surviving partner (client) receives this error when attempting to send on a conversation which is closed because the server timed out. |
It is assumed that server and client are active.
Error Number | Error Text | Explanation |
---|---|---|
00030003 | No matching conversation found | When either a server or a client attempts a new Broker request affecting this timed out conversation. |
00030073 | Conversation timeout occurred | When both client and server are already engaged in a conversation, and the conversation time out without the partner issuing any Broker request. |
UOWs involved in a conversation, and which are in DELIVERED
state,
revert to ACCEPTED
state when the conversation times out. UOWs in ACCEPTED
state are no longer bound to a server nor to an existing conversation.
Therefore, UOW in ACCEPTED
state is part of a new conversation that is
available to any server.