Kbase 18743: "No Agents Are Available" In A Heavily Loaded WebSpeed 2.x Environment
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  16/10/2008 |
|
Status: Unverified
FACT(s) (Environment):
WebSpeed 2.x
SYMPTOM(s):
WTB: No available agents. (5754)
CAUSE:
This describes the single-threaded nature of WebSpeed 2.x and explains why a client may receive the message that "No Agents are Available" on a busy system.
FIX:
In WebSpeed Version 2.x there is the potential, based on availability of the Agent pool, that NO Agents are available to process a Client Request.
The main reason is the Version 2.x Broker is a single-threaded process, meaning that it can process only one client request from the Messenger at a time. When a Broker receives a client request, it needs to identify an available Agent. The
Broker keeps a list of each Agent's status in a status table. This status table is resident in shared memory and is controlled by a single semaphore.
If a Client Request were sent to a Version 2.x Broker and ALL the WebSpeed Agents were busy, the broker would reject the request and notify the Messenger. The Messenger would then attempt (up to 4 times) to send the request back to the Broker hoping for an available Agent.
Each attempt by the Messenger to send the request again has a random delay of one to five seconds.
So, if all the Agents stay in a BUSY status during this retry attempt phase, there is the possibility a message will be returned stating "WTB: No available agents. (5754)"