Salesforce

C/S connections fail when _mprosrv or _proibk ports are exhausted error 1159

« Go Back

Information

 
TitleC/S connections fail when _mprosrv or _proibk ports are exhausted error 1159
URL Namec-s-connections-fail-when-mprosrv-ports-are-exhausted-1159
Article Number000198730
EnvironmentProduct: OpenEdge
Version: All supported versions
OS: All supported platforms
Question/Problem Description
When the database broker cannot spawn a new remote server because the TCP port pool (defined by -minport -maxport) is exhausted all new client connection attempts will fail.
Incoming c/s connection requests cannot use the available resources from the existing servers when new servers cannot be spawned.
When all remote servers have not been started due to unavailable ports no additional client/server connections can be made error 1159 1157
More than -Mi client/server connections in total on existing remote servers cannot be made when new servers fail with errors 1159, 1157
When no further ports are available a new remote server process to serve the new connection fails with error 1159
Error 1159 prevents any new c/s connections with/without a threaded server and with classic non threaded server  
The database login broker should not fail c/s connections when all -Mpb have not been started.
Error 1159 and 1157 when connecting to DataServer.
Steps to Reproduceproserve db1 -S 5000 -Mn 5 -Mi 1 -Ma 4 -n 20 -minport 5001 -maxport 5005
proserve db2 -S 5005 -Mn 5 -Mi 1 -Ma 4 -n 20 -minport 5001 -maxport 5005

prowin -db db1 -S 5000 -db db2 -S 5005
prowin -db db2 -S 5005
prowin -db db1 -S 5000
# scan port range runs out here on 'db2' errors 1159, 1157:
prowin -db db1 -S 5000 -db db2 -S 5005
prowin -db db2 -S 5005 -db db1 -S 5000
Clarifying Information
Error MessageClient: BROKER: Could not spawn a server (1890)

(1159) Server cannot find a free port for a TCP socket
(1157) Broker could not spawn a server.
Defect NumberOCTA-32926
Enhancement Number
Cause
Error 1159 happens when the Login Broker scans for ports in the -minport -maxport range and none are available to this process which is expected behaviour. Defect OCTA-32926 is raised to allow new c/s connections to use up remaining -Ma slots when new remote servers cannot be started, but rejected as functions as designed.

The round robin -Mi setting will not skip a server if it cannot be spawned and allow existing servers additional clients when all servers do not have the -Mi minimum.
 
Resolution
It was determined that the Progress Product is functioning as designed.

An enhancement to the product can be requested through the Progress Community via an Ideas submission. Customer feedback is valuable and Idea submissions are monitored by our Product Management team. Enhancement requests are reviewed during the planning phase of each new product release and a list of the enhancements chosen for implementation can be found in the Release Notes documents that accompany each release. Once an Idea is submitted the Progress Software Community will have the opportunity to comment on and vote for the Idea.
 
For detailed information on how to submit an Idea, please refer to Article How to submit an enhancement request for a Progress product?.

As an alternative use the workaround below.
 
Workaround
  1. Restart OE databases with unique available minport maxport ranges that satisfy the -Mpb requirement. 
  2. Consider raising -Mi in order that more than one client is currently connected to a remote server before a new one is considered for starting on the next port in the minport/maxport range.
Notes
Progress Articles:

Why define specific minport maxport ranges?
minport maxport reservation in etc/services     

Similar problems can occur with DataServer connections.
See this article for more information: How to define min and max ports for the DataServer Broker server processes?
Keyword Phrase
Last Modified Date2/15/2023 5:44 PM

Powered by