Problem with -n number of user parameter in 8.3

Chris Kelleher

Administrator
Staff member
It's been almost a year now. It's amazing but TS still tells people that they've never seen this before... (BTW, Mike Furgal, who fixed this, claims that there are additional ways to make it happen. I believe him.)

When the user count specified by -n is exceeded a dialog box is presented by Progress informing the user of this situation and asking the user to press to continue. Any other users attempting to open a session while that dialog is waiting for a response will be queued and will experience the "blank screen of death". If the first user presses return> that session will end and the next in line will receive the dialog and so on on down the queue.

If any user in the queue does not press and instead reboots or shuts off their PC then that session will hold its position for the TCP keepalive interval (2 hours by default, 10 minutes in common practice).

As users loose patience more and more of them do so and the queue lengthens. The situation quickly snowballs to the point where it appears that no users can start a session.

To reproduce the problem execute the following:

proserve sports -n 3
mpro sports (5x in 5 windows)

(There's nothing magic about "-n 3", 1 will work and so will 1,000. But 3 is small enough to work with yet large enough to show multiple users still able to get work done.)

You'll observe that the 1st 3 sessions all start normally. The 4th session displays the dialog box and the 5th is apparently frozen with a blank screen. The first 3 sessions can all work normally. Examination of the 5th session shows that only the 1st 6 file descriptors have been opened (ending with the .lbi file), the user is blocked on a semaphore and no CPU time is being consumed. Promon can be started with -F but you can only shutdown the db -- you cannot disconnect users. The "hung" sessions do not respond to SIGHUP, SIGINT or SIGTERM. "Kill -8" will dump a core file.

Pressing (or killing) the 4th session brings up the dialog for the 5th session.

This is different behavior from 8.2! In 8.2 all users would see the dialog box. No queueing occurred.
 
Top