Kbase P43866: Error 1154, and 748 when Connecting to database through a Fi
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  9/23/2003 |
|
Status: Unverified
FACT(s) (Environment):
Progress 9.1B
FACT(s) (Environment):
Progress 9.1C
FACT(s) (Environment):
Progress 9.1D
SYMPTOM(s):
Error when Connecting to database through a Firewall.
No servers are available. Try again later. (1154)
The server or the system has no more resources. Try a larger -n. (748)
CAUSE:
Firewalling of ports either by software or hardware can lead to this problem. In the condition of the Primary or Secondary login broker port might be open but ports (either all or some) used by the auto servers are firewalled.
If multiple machines are concerned then the firewalling of the origination point and destination point must be checked. Here is an example of what might happen.
Client attempts a connection to the broker. Broker responds to the client and directs the client to speak to an auto server on port 1025 (first dynamic port on UNIX) or 3000 (first dynamic port on NT). Client attempts to connect to auto server but due to firewalling can't get to the port specified by the broker.
In this situation the Broker has internally modified its count of clients which are logged in because an attempt for connection was made.
The broker has either spawn another auto server or has notified the auto server that it is about to receive another client.
FIX:
The broker listener ports and all auto server ports must be bidirectional open.
As a workaround the -PendConnTime database parameter can be set.
The servers examine the timestamp on the latest reservation and, if the -PendConnTime period has elapsed, it is assumed that client has failed to connect and the reservation is cleared. The server is then available for new clients.
The default value for this reservation parameter is 0, (disabled) and any time that is set must be expressed in seconds. There is also a new column under PROMON > R&D > 1 > 3 that shows up if any server has a pending user connection that has to be resolved. For example:
?03/14/01 Status: Servers
12:50:55
\/
Sv Pend. Cur. Max. Port
No Pid Type Protocol Logins Users Users Users Num
0 1604 Login TCP 1637 0 0 3 2500
1 1788 Auto TCP 1392 0 0 3 3000
2 928 Auto TCP 245 0 0 3 3002
3 0 Inactive 0 0 0 0 0
Enter <return>, R, P, T, or X (? for help):