> 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
>
>