Re: sudden PolyServer shutdown

From: Alex Rousskov (rousskov@measurement-factory.com)
Date: Tue Jul 10 2001 - 10:47:20 MDT


On Tue, 10 Jul 2001, Peter Backx wrote:

> While testing my new proxy-caching architecture I ran into a
> problem: polysrv suddenly and unannounced shuts down with the
> following error:
>
> ./CltGroupMap.cc:58: assertion failed: 'false'

Hey, this is an announced shutdown!
 
> After some browsing through the documentation, the faq and the
> tips I can only find one possible cause, which is too few file
> descriptors. However since this is an experimental setup, the
> request frequencies used are very low and a run without proxy
> seems to work just fine, so I'm in doubt. Do you have any idea
> what causes this problem?

As far as I can tell, Polygraph thinks that you have more than 11
polyclt processes. The magic number 11 is hard-coded, unfortunately.
Recent Polygraph versions (e.g., 2.6.4) use 37 as a limit, also
hard-coded.

You have several options:
        - never restart polyclts without also restarting polysrvs
        - double check that you really need more than 11 polyclts
        - upgrade to 2.6.4 if you need less than 38 polyclts
        - modify the source code to set higher limit [1]

If my guess is wrong, I would be interested in seeing console output
from all your polyclt and polysrv processes as well as PGL files (off
list, of course).

> Might this be caused by the fact that I run multiple clients on 1
> machine?

In this context, polysrv does not know what a "machine" is. Only the
number of processes matter. However, in most cases, there is no need
to run more than one polyclt process per host. In fact, it is a bad
idea because of the performance overheads! One polyclt process can
simulate as many robots as you need (as long as you have enough CPU
and RAM; there are no hard-coded limits). In our tests, we often use
1000 robots per polyclt process. Each robot can be an independent
"client" from proxy/server point of view.

One exception to the above is when you want to test several proxies at
the same time. In Polygraph 2.5, you can have only one proxy per
polyclt process. Polygraph 2.6.4 removes that limitation (see change
log): you can now have one proxy per robot.

Good luck,

Alex.

[1] In src/*/*.cc, replace all occurrences of theIndex(11) with theIndex(37)
    or whatever limit you want



This archive was generated by hypermail 2b29 : Tue Jul 10 2001 - 12:00:20 MDT