> On June 22, 2012, 9:53 a.m., Mike Percy wrote:
> > Mubarak, in what cases can it be made to throw an exception? From a quick 
> > look at the code, it's not obvious that getClient() can throw.
> 
> Mubarak Seyed wrote:
>     Mike,
>     
>     If i specify incorrect hostname then i can see 
>     
>     Caused by: java.nio.channels.UnresolvedAddressException
>             at sun.nio.ch.Net.checkAddress(Net.java:30)
>             at 
> sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:480)
>             at 
> org.jboss.netty.channel.socket.nio.NioClientSocketPipelineSink.connect(NioClientSocketPipelineSink.java:140)
>             at 
> org.jboss.netty.channel.socket.nio.NioClientSocketPipelineSink.eventSunk(NioClientSocketPipelineSink.java:103)
>             at 
> org.jboss.netty.handler.codec.oneone.OneToOneEncoder.handleDownstream(OneToOneEncoder.java:60)
>             at org.jboss.netty.channel.Channels.connect(Channels.java:541)
>             at 
> org.jboss.netty.channel.AbstractChannel.connect(AbstractChannel.java:218)
>             at 
> org.jboss.netty.bootstrap.ClientBootstrap.connect(ClientBootstrap.java:227)
>             at 
> org.jboss.netty.bootstrap.ClientBootstrap.connect(ClientBootstrap.java:188)
>             at 
> org.apache.avro.ipc.NettyTransceiver.getChannel(NettyTransceiver.java:246)
>     
>     then RpcClient never gets repaired for next available host in the list.
>     
>     Thanks.

Here is the full stacktrace


2012-06-21 22:05:52.725 61694564 [Log24] ERROR 
org.apache.flume.api.NettyAvroRpcClient  - RPC connection error :
java.io.IOException: Error connecting to test-test1.subdomain.domain.com:port
        at 
org.apache.avro.ipc.NettyTransceiver.getChannel(NettyTransceiver.java:249)
        at 
org.apache.avro.ipc.NettyTransceiver.<init>(NettyTransceiver.java:198)
        at 
org.apache.avro.ipc.NettyTransceiver.<init>(NettyTransceiver.java:147)
        at 
org.apache.flume.api.NettyAvroRpcClient.connect(NettyAvroRpcClient.java:118)
        at 
org.apache.flume.api.NettyAvroRpcClient.connect(NettyAvroRpcClient.java:107)
        at 
org.apache.flume.api.NettyAvroRpcClient.configure(NettyAvroRpcClient.java:446)
        at 
org.apache.flume.api.RpcClientFactory.getInstance(RpcClientFactory.java:83)
        at 
org.apache.flume.api.LoadBalancingRpcClient.createClient(LoadBalancingRpcClient.java:190)
        at 
org.apache.flume.api.LoadBalancingRpcClient.getClient(LoadBalancingRpcClient.java:173)
        at 
org.apache.flume.api.LoadBalancingRpcClient.append(LoadBalancingRpcClient.java:69)
        at 
com.siri.cortex.logging.flume.FlumePublisherImpl.publish(FlumePublisherImpl.java:324)
        at 
com.siri.cortex.logging.LogMessageFactory$LogEngineType$3.log(LogMessageFactory.java:140)
        at 
com.siri.cortex.logging.LogMessageFactory$LogEngineType$5.log(LogMessageFactory.java:167)
        at 
com.siri.cortex.logging.LogMessageFactory$AsynchronousLogEngine$3.run(LogMessageFactory.java:343)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
Caused by: java.nio.channels.UnresolvedAddressException
        at sun.nio.ch.Net.checkAddress(Net.java:30)
        at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:480)
        at 
org.jboss.netty.channel.socket.nio.NioClientSocketPipelineSink.connect(NioClientSocketPipelineSink.java:140)
        at 
org.jboss.netty.channel.socket.nio.NioClientSocketPipelineSink.eventSunk(NioClientSocketPipelineSink.java:103)
        at 
org.jboss.netty.handler.codec.oneone.OneToOneEncoder.handleDownstream(OneToOneEncoder.java:60)
        at org.jboss.netty.channel.Channels.connect(Channels.java:541)
        at 
org.jboss.netty.channel.AbstractChannel.connect(AbstractChannel.java:218)
        at 
org.jboss.netty.bootstrap.ClientBootstrap.connect(ClientBootstrap.java:227)
        at 
org.jboss.netty.bootstrap.ClientBootstrap.connect(ClientBootstrap.java:188)
        at 
org.apache.avro.ipc.NettyTransceiver.getChannel(NettyTransceiver.java:246)
        ... 16 more


- Mubarak


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/5503/#review8479
-----------------------------------------------------------


On June 21, 2012, 10:51 p.m., Mubarak Seyed wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/5503/
> -----------------------------------------------------------
> 
> (Updated June 21, 2012, 10:51 p.m.)
> 
> 
> Review request for Flume.
> 
> 
> Description
> -------
> 
> LoadBalancingRpcClient should catch exception for invalid RpcClient and 
> failover to valid one. I just moved 
> 
> RpcClient client = getClient(host);
> 
> to try block.
> 
> 
> This addresses bug FLUME-1306.
>     https://issues.apache.org/jira/browse/FLUME-1306
> 
> 
> Diffs
> -----
> 
>   
> trunk/flume-ng-sdk/src/main/java/org/apache/flume/api/LoadBalancingRpcClient.java
>  1352719 
> 
> Diff: https://reviews.apache.org/r/5503/diff/
> 
> 
> Testing
> -------
> 
> Yes.
> 
> 
> Thanks,
> 
> Mubarak Seyed
> 
>

Reply via email to