Why is this happening?
- AIX 6.1
- OE 10.2B08 32 bit (I know, not 64 bit)
- DB started by AdminServer
Pertinent Startup Params: -Mn 260 -n 3600 -Mi 1 -Ma 20 -Mpb 250 -S <some port>
Only one broker and -ServerType not set (i.e. both SQL and 4GL connections accepted)
BROKER 0: (5647) Maximum Servers Per Broker (-Mpb): 250.
SRV 1: (5646) Started on port 11002 using TCP IPV4 address 0.0.0.0, pid 19727630.
SRV 2: (5646) Started on port 11003 using TCP IPV4 address 0.0.0.0, pid 12714822.
...
SRV 248: (5646) Started on port 11252 using TCP IPV4 address 0.0.0.0, pid 12976978.
SRV 249: (5646) Started on port 11253 using TCP IPV4 address 0.0.0.0, pid 22282464.
SRV 250: (5646) Started on port 11254 using TCP IPV4 address 0.0.0.0, pid 26805024.
SQLSRV2 251: (-----) SQL Server 10.2B.08 started,
SQLSRV2 252: (-----) SQL Server 10.2B.08 started,
SQLSRV2 253: (-----) SQL Server 10.2B.08 started
Why the <beep> are servers 251, 252 and 253 starting?
because -Mpb is per remote server type, and since you have only 1 broker, -Mpb 250 would / could in this case mean 250 ABL and 250 SQL servers, which would get void(ed) by -Mn, but there is still 10 servers leeway (260 minus 250), hence 251, 252, 253.
Really !?! That's news to me. I always thought the documentation was right: "The number of servers each broker can start. Use Maximum Server Per Broker (-Mpb) to specify the maximum number of servers that multiple
brokers can start to serve remote users for any one protocol."
My mind has been blown. Boom!! Thanks Libor.
News to me too. I've been using -Mpb for quite a while and thought I understood it; apparently not.
Re-reading the docs, it's not at all clear what is meant by "protocol"; it is not defined in this context. In other places in the docs where it is defined, it means communications protocol, e.g. TCP. Example: "Protocol - The communications protocol used by the server and its clients. TCP is the only valid value for this field." (from the promon Servers Status display, pg 549 of 11.6 dmadm)
Based on Libor's description, it appears that in this context "protocol" should read "Server Type". Is it possible to file a doc bug for this?
> ... for any one protocol.
It does say that. You don't have multiple brokers, just one.
I'm with Rob: I always assumed "protocol" meant "Network Protocol" ie the -N parameter.
I just tested this and LL is 100% correct. With -Mn 10 -Mi 1 -Ma 1 -Mpb 3 -S 9999 I can start 3 _mprosrv -m1 servers and 3 _sqlsrv2 servers but no more.
Documentation bug or undocumented feature...
you’re right. it should read “server type”.
technically, protocol is also correct (though confusing) since the 4gl servers and sql server do use different message protocols. but the message protocols are not discussed anywhere in the documentation and do not need to be.
also, since you said -Mpb 3, you should only be allowed to start 3 of either type, not three of each type.
> also, since you said -Mpb 3, you should only be allowed to start 3 of either type, not three of each type
So is this a doc bug *and* a functional bug?
gus: that's the whole point of my being surprised: I was able to start 3 _mprosrv -m1 AND 3 _sqlsrv2 from the same login broker with -Mpb 3.
If the parameter is supposed to be per "protocol" per broker it should be called -Mppb ;)
it isn’t supposed to be per server type.
it is per broker.