Re: MINA's OrderedThreadPoolExecutor has queued work, but no workers

2022-01-11 Thread Emmanuel Lécharny
Hi again, my bad, if we get an exception during the runTasks execution, we won't exit the for(;;) loop, so this is plain normal to have an idleWorkers.incrementAndGet(); in the finally part. There are two places where we exit the loop: - if we exceed the number of workers - when session ==

Re: MINA's OrderedThreadPoolExecutor has queued work, but no workers

2022-01-11 Thread Emmanuel Lécharny
Hi Guus, I agree there is some inconsistency, and I need to check why. Regarding the initial pb, it seems like an exception causes the worker to be removed, and this exception seems to be due to some TLS handshake failure. I suspect that TLS 1.3 is being used on the client side, which is

Re: MINA's OrderedThreadPoolExecutor has queued work, but no workers

2022-01-11 Thread Guus der Kinderen
Although I'm not sure if this is the source of my issue, I can reproduce the state by creating a unit test that causes a RuntimeException and/or Error to be thrown by a filter that is processing an event. In OrderedThreadPoolExecutor's Worker, this snippet causes the Worker to be removed, but the

MINA's OrderedThreadPoolExecutor has queued work, but no workers

2022-01-11 Thread Guus der Kinderen
Hello, This was found with MINA 2.1.3. Is this a bug? I stumbled upon this while performing analysis of heap dumps of a JVMs that suffered from an issue where no user was able to establish a connection to our server software anymore. Our application uses an ExecutorFilter. The