You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "dvor4x (JIRA)" <ji...@apache.org> on 2017/11/20 10:13:01 UTC
[jira] [Created] (CAMEL-12016) Invalid Pool Exhausted error on
camel-netty4
dvor4x created CAMEL-12016:
------------------------------
Summary: Invalid Pool Exhausted error on camel-netty4
Key: CAMEL-12016
URL: https://issues.apache.org/jira/browse/CAMEL-12016
Project: Camel
Issue Type: Bug
Components: camel-netty4
Affects Versions: 2.20.1, 2.20.0, 2.19.0, 2.18.0, 2.17.4
Environment: Same behaviour on : Linux, Windows 7, AIX
Using Intelli-J
Reporter: dvor4x
Hey guys,
Since camel 2.17.4, our application who made some "ping request" brings a "Pool exhausted" error after 100 trying.
After analysis, since 2.17.4, when camel-netty4 try to connect to a down host, the connection (ChannelFuture) stay in the pool.
Here is the code to show you :
{code:java}
import org.apache.camel.CamelContext;
import org.apache.camel.Exchange;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.impl.DefaultCamelContext;
import java.util.NoSuchElementException;
public class main {
public static void main(String args[]) throws Exception {
CamelContext context = new DefaultCamelContext();
context.addRoutes(new RouteBuilder() {
public void configure() {
onException(NoSuchElementException.class).process(exchange -> {
System.out.println(exchange.getProperty(Exchange.EXCEPTION_CAUGHT, Exception.class));
});
from("timer://myTimer?period=2000").
setBody()
.simple("Trying to connect to localhost:12345")
.to("stream:out")
.to("netty4:tcp://localhost:12345?producerPoolMaxActive=4");
}
});
context.start();
Thread.sleep(8000000);
}
}
{code}
The producerPoolMaxActive is set to 4 to bring the error faster.
*The output in 2.17.3 just bellow (all work perfectly)*
_Trying to connect to localhost:12345
Trying to connect to localhost:12345
Trying to connect to localhost:12345
Trying to connect to localhost:12345
Trying to connect to localhost:12345
...._
*But in version > 2.17.3, we've got this : *
_Trying to connect to localhost:12345
Trying to connect to localhost:12345
Trying to connect to localhost:12345
Trying to connect to localhost:12345
Trying to connect to localhost:12345
java.util.NoSuchElementException: Pool exhausted
Trying to connect to localhost:12345
java.util.NoSuchElementException: Pool exhausted
Trying to connect to localhost:12345
java.util.NoSuchElementException: Pool exhausted
Trying to connect to localhost:12345
java.util.NoSuchElementException: Pool exhausted
_
I've made a pull request to fix it.
Thanks for your help !
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)