Specifying the broker type in a pf file

Posted by James Palmer on 18-Oct-2016 11:44

I'm missing something I'm sure, but how do I specify the broker type in a pf file for the proserv command? I want my 2 brokers to be segregated for 4GL and SQL connections and I can't for the life of me remember how to do it using parameter files. 

All Replies

Posted by Rob Fitzpatrick on 18-Oct-2016 11:46

-ServerType 4GL

-ServerType SQL

Posted by James Palmer on 18-Oct-2016 12:32

Thanks rob I tried brokertype but not that one!

Sent from my Android phone




Posted by S33 on 20-Oct-2016 08:07

What are the advantages of segregating the connection types?

(In other words, I'm curious about what you're trying to accomplish?)

Posted by bronco on 20-Oct-2016 08:53

Well a server (process) can be either 4GL or SQL. Segregating the types prevent that all servers become 4GL and that there are ones available for SQL.

Posted by James Palmer on 20-Oct-2016 09:08

Expanding a bit on what bronco says, each server stays as 4GL or SQL once the first agent connects to it. It's quite possible with a mixed broker to have all the servers set as 4GL or all of them as SQL and then not be able to connect from the other type of client.

If you segregate your brokers, and force a connection type, then you will never run into this problem.

Also, you can set client specific parameters such as -Mn etc. You can use these to throttle 4GL/SQL as necessary.

Posted by gdb390 on 20-Oct-2016 09:16

Dare to ask  :

Do you put in your pf file a proserve command ?

Is that not mixing client and server in one file ?

Posted by Peter Judge on 20-Oct-2016 09:20

I’m not a DBA though I stand next to one on occasion in presentations (and so by osmosis, am ;) …  Paul Koufalis talked a bit about this a various PUG Challenges. Slide 25 of  pugchallenge.org/.../876 - code_performance_wshop_redux.pdf has a brief precis and the crux is that they service requests differently (due to their internal structure). That’s the limit of my ken but I’m sure Paul will hasten to correct me here :)
 

Posted by Rob Fitzpatrick on 20-Oct-2016 09:21

Parameter files (.pf) can be used for client startup parameters and for broker startup parameters but they should not be mixed.  Create a client.pf for each ABL client application you will run, and create a separate broker.pf for each database broker for each database.

It is a good idea to use separate brokers for ABL clients and for SQL clients and to use separate, non-overlapping minport/maxport ranges for each.  It greatly simplifies troubleshooting, e.g. when clients can't connect to servers, when brokers can't spawn servers, etc.

Posted by gdb390 on 20-Oct-2016 09:24

Thanks Rob ! We usually do this configuration through the openedge explorer where we define the different configuration types

Posted by Paul Koufalis on 20-Oct-2016 09:38

There are a number of reasons to segregate broker types on different -S ports. James hit the major one: on any one login broker there are a maximum of -Mpb servers that can be started. Mixing SQL and 4GL servers under one login broker means that the number of supported 4GL vs SQL users is determined by pure luck. If you set -Mi 1 (min 1 user per server) then the first 4GL user will spawn an _mprosrv -m1, the second will spawn another, then if an SQL user connects the third server process will be an _sqlsrv2, and so on until you hit -Mpb.

Posted by James Palmer on 20-Oct-2016 09:50

We currently use OEE for this, but in certain cases it's a nightmare. Our development server hosts 150 databases and OEE makes this a nightmare to maintain. Add to that that the Adminserver can be temperamental at times...

I'm working on a utility to convert conmgr.properties to pf files and associated batch files so we can migrate easily.

Posted by gdb390 on 20-Oct-2016 10:08

Great James !

I could say something about Adminserver - temperament and women ... but I'm not going to do that :)

Posted by Gareth Vincent on 21-Oct-2016 00:10

If you goal is simply to get rid of OEE, why not just use the proserve command to startup your DB's and still use the conmgr.properties file.  I've just emailed you some scripts we use to start and stop our DB's/Appservers on our Data Centre.  We like the idea that we still have a central file that we can edit to modify startup params for our DB's and that we are no longer dependent on the adminserver.

This thread is closed