[ 
https://issues.apache.org/jira/browse/CAMEL-12016?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16259053#comment-16259053
 ] 

ASF GitHub Bot commented on CAMEL-12016:
----------------------------------------

GitHub user dvor4x opened a pull request:

    https://github.com/apache/camel/pull/2101

    CAMEL-12016 : ChannelFuture is not clearly erased from the pool on 
connection error

    * Since 2.17.4, ChannelFuture was never release when a connection error 
occurs.
    https://issues.apache.org/jira/browse/CAMEL-12016

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/dvor4x/camel 
bugfix/camelNetty4ReleaseChannelFutureOnConnectionError

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/camel/pull/2101.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #2101
    
----
commit 436cd46724b94406b0c83a2678b06577eced1b50
Author: dvor4x <dvo...@hackerzvoice.net>
Date:   2017-11-18T13:54:54Z

    * Since 2.16.3, ChannelFuture was never release when a connection error 
occurs. The fact is, pool.borrowObject(); (L224) didn't throw connection 
exception anymore.

----


> 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.17.4, 2.18.0, 2.19.0, 2.20.0, 2.20.1
>         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)

Reply via email to