Hi there,

I've been playing around with the pool_of_threads addition and here is some of what I've found:
All of this was on Mac OSX 10.5

1)  Biggie here:  Running the server with the --extra-port=NNNN option (with pool-of-threads set) causes the server to start then immediately stop.  I'm still looking through logs and trace files to see if I can find anything meaningful.  I am able to run without setting extra-port though.

2)  We can set extra-max-connections when --extra-port isn't set.  The limit is 100000, at least on my system.  As I haven't been able to get the server running with extra-port yet, I haven't tested much beyond this.

3)  We can also set thread-pool-size even if thread-handling isn't set to pool-of-threads.  It's limit appears to be < 2560 (I was running into some mess on my system so I haven't pinpointed it yet).  The biggest thing is that if thread-pool-size is set too large, we just get a start and stop (Once again, my logs are a bit of a mess due to 'play', so I'll have more info on the server behavior in a bit).

4)  I found that if the number of connections is = thread-pool-size, new connections will terminate within 'connect-timeout' seconds (there was some question about whether we had to wait for the denied connection to receive a message until after a thread was freed).

5)  Due to these problems (most especially #1), main.pool_of_threads.test fails on my machine.  If I remove the --extra-port stuff, the test will run more than otherwise (the server dies quickly with extra-port stuff).

For extra-max-connections and thread-pool-size, do we want to allow these to be set even if they aren't relevant to the way the server is currently running?

Is there any specific information I can provide if anyone wants to look into why the server dies when I try to use --extra-port?

Testing notes:
1)  I have some changes to make to pool_of_threads.test (style, additional testing, etc).
2)  We should also add some testing for extra-max-connections, thread-pool-size, etc.  Possibly to variables.test, though somewhere else would work.  I've played around a bit with dynamically changing the variables, etc.  I just can't get MTR to run the test to really polish my proposed changes before submitting a patch.

Thanks,
Patrick.