Strange -Mpb Behaviour

Posted by Paul Koufalis on 21-Feb-2017 08:56

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?

All Replies

Posted by Libor Laubacher on 21-Feb-2017 09:21

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.

Posted by Paul Koufalis on 21-Feb-2017 09:32

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."

Posted by Paul Koufalis on 21-Feb-2017 09:41

My mind has been blown. Boom!! Thanks Libor.

Posted by Rob Fitzpatrick on 21-Feb-2017 09:43

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?

Posted by Libor Laubacher on 21-Feb-2017 09:43

> ... for any one protocol.

It does say that. You don't have multiple brokers, just one.

Posted by Paul Koufalis on 21-Feb-2017 09:58

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...

Posted by gus bjorklund on 21-Feb-2017 11:38

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.

Posted by Rob Fitzpatrick on 21-Feb-2017 11:53

> 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?

Posted by Paul Koufalis on 21-Feb-2017 12:04

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.

Posted by ChUIMonster on 21-Feb-2017 12:05

If the parameter is supposed to be per "protocol" per broker it should be called -Mppb ;)

Posted by gus bjorklund on 21-Feb-2017 16:12

it isn’t supposed to be per server type.

it is per broker.

This thread is closed