Consultor Eletrônico



Kbase P113026: Connection timeout by client on failed connect attempt to a database takes too long.
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   20/05/2010
Status: Verified

SYMPTOM(s):

Connection timeout by client on failed connect attempt to a database takes too long.

Client waits for approximately 51 seconds before a timeout occurs

Connect timeout takes longer in Progress 9 and OpenEdge 10 than in Progress 8.

Cannot reduce the connect timeout from the 4GL

FACT(s) (Environment):

Using the CONNECT statement from the Progress 4GL to connect to a database
Database is currently unavailable
All Supported Operating Systems
Progress 9.x
OpenEdge 10.0x
OpenEdge 10.1A
OpenEdge 10.1B
OpenEdge Category: Language (4GL/ABL)

CAUSE:

Bug# OE00134538

CAUSE:

This was caused by an intentional change in behavior in Progress 9. In Progress 8 we attempted to connect either 5 or 10 times, depending on the platform. In some customer scenarios this timeout was too short. In Progress 9 we attempt the connection 50 times.

FIX:

Upgrade to OpenEdge 10.1B01, 10.1C or later.

In 10.1B01 a new database connection parameter was introduced whereby it's possible to specify the number of connection attempts that will be made before a timeout occurs.

The new connection parameter is -ct <numRetries>, which needs to be specified for each client connection which requires a timeout other than that the default of 50 retries results in. For example if the default -ct 50 results in a timeout of 50 seconds before failing the connection (or causing a connection RETRY), then lowering this value will shorten the timeout accordingly.
Example where the connect retries setting is changed to 10 retries for the two databases:

$ prowin32 -db mydb1 -H myhost -S mydb1 -ct 10 -db mydb2 -H myhost -S mydb2 -ct 10

CONNECT -db mydb1 -H myhost -S mydb1 -ct 10 -db mydb2 -H myhost -S mydb2 -ct 10