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)