Consultor Eletrônico



Kbase P76279: All WebSpeed Agents have to be terminated before the Broker spawns new agents
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   10/16/2008
Status: Verified

FACT(s) (Environment):

WebSpeed 3.x

SYMPTOM(s):

All WebSpeed Agents have to be terminated before the Broker spawns new agents

WebSpeed error screen is seen until all agents have terminated and the Broker starts to spawns new ones.

Error <read/writing> socket, ret=<n>, errno=2. (778)

Error 778 in webspeed server log

The broker definition has

initialSrvrInstance=25
minSrvrInstance=25
maxSrvrInstance=25

All with same value to keep all agents running all the time.

After all Agents are terminated the broker starts spawning new.

Checking status for the Agents there are less than minSrvrInstance.

Timeout on the firewall is increased to exceed the trim timeout on the agent.

The broker are not shut down properly prior to the database being shut down.

CAUSE:

When the users first access the webspeed application (e.g. in the morning), the first requests they make result in the WebSpeed yellow error page.
A database that the agents connect to, has stopped and been restarted since the agents were restarted.
The agents are initially making a connection to the database on startup. If the database shuts down, the agents are not listening for the shutdown message, they are listening for the incoming webspeed requests.

The agents don't realize they are no longer connected to the database until they go to run a request, at which time they will error out, because the database connection is unavailable.

FIX:

Here are 3 workarounds to avoid this problem:

1. Restart webspeed after the database. That way all agents will still be connected.

- or -

2. Set minSrvrInstance=0. This will allow the agents to autotrim. If the webspeed broker is started during the night, any agents will autotrim within an hour. When requests come in the morning, the broker will restart agents as necessary, and when they start, they will connect to the database. The requests where the agents start up will be a little slow, but the rest of the requests will be normal.

- or -

3. If this is an expected situation, have the agents check the database connection before running a request. This can slow down the application somewhat.