Dmitrii Kriukov created CAMEL-21435:
---------------------------------------

             Summary: Commons-pool2: When Camel Netty configured with 
producerPoolMaxTotal=1 and retry, the application hangs
                 Key: CAMEL-21435
                 URL: https://issues.apache.org/jira/browse/CAMEL-21435
             Project: Camel
          Issue Type: Bug
          Components: camel-netty
            Reporter: Dmitrii Kriukov


Retry on the onException() clause seems to be impossible for 
producerPoolMaxTotal=1 (leads to call of GenericObjectPoolConfig.setMaxTotal())
This causes infinite hanging in case of network IO exceptions.
Netty attempts to utilize a new connection when the old one is still unreleased.
It boils down to method 
org.apache.commons.pool2.impl.GenericObjectPool::borrowObject(Duration 
borrowMaxWaitDuration) throws Exception {}
When producerPoolBlockWhenExhausted = true (the default value), the application 
hangs.
When producerPoolBlockWhenExhausted = false, I get an exception 
2024-11-11 13:41:44 ERROR [com.opt.obp.ser.ada.cam.Logger] (Camel Thread #2 - 
NettyClientTCPWorker) <> Exception occurred: java.util.NoSuchElementException: 
Pool exhausted 
So, either way it's impossible to serve



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to