On Fri, May 05, 2017 at 12:30:56PM +0200, Maxim Bourmistrov wrote: > > Hey, > on OpenBSD 6.0-stable I have following configuration for relayd: > > ————snip——————— > interval 10 > timeout 1200 > prefork 15 > log all > —————————————————— > > Respective login.conf to spawn more relayd procs: > > relayd:\ > :maxproc-max=31:\ > :maxproc-cur=15:\ > :openfiles=65536:\ > :tc=daemon: > > > With config options above moved to a 6.1 creates following: > > relayd starts but brings up no more that 3 relay-processes. > Also after start up it refuses to do any checks configured (in my simple test > I used check tcp) > > [mxb-test]-[12:21:41]# relayctl sh su > Id Type Name Avlblty Status > 1 relay rabbitmq active > 1 table rabbitmqpool:5672 empty > 1 host 10.5.96.8 unknown > 2 table rabbitmqfallback:5672 empty > 2 host 10.5.96.9 unknown > > > Changing ’prefork’ from 15 to 3 makes it work. > > Is this a bug? > > Br > > >
Hey, This is a random guess since you haven't posted the whole config, but I think it has bitten me too sometime: Do you have the global options such as prefork defined before your relays and routes or not? The order of the global options matter. If the global options are set after the table they are not initialized on the tables and can actually crash relayd. This is because the health checking uses a different prefork value and checks the "wrong" amount. I'm not sure, but I think it is not a bug: it is documented in relayd.conf(5). Thinking about it: would it be acceptable if `relayd -n` shows a warning if global options are defined in the wrong order? I can write the patch for it if it makes sense. I hope this helps you in some way, -- Kind regards, Hiltjo