[
https://issues.apache.org/jira/browse/TAJO-1025?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14141685#comment-14141685
]
Jihun Kang edited comment on TAJO-1025 at 9/20/14 2:23 AM:
-----------------------------------------------------------
[~jhkim], I have modified the patch to catch ConnectTimeoutException and to
terminate the execution. Other exceptions that are occurred when getting
connections from RPCConnectionPool will be logged but will continue to execute
the assigned tasks.
Please review attached file, [^TAJO-1025.20140920.patch].
was (Author: ykrips):
[~jhkim], I have modified the patch to catch ConnectTimeoutException and to
terminate the execution. Other exceptions that are occurred when getting
connections from RPCConnectionPool will be logged but will continue to execute
the assigned tasks.
> Network disconnection during query processing can cause infinite exceptions
> ---------------------------------------------------------------------------
>
> Key: TAJO-1025
> URL: https://issues.apache.org/jira/browse/TAJO-1025
> Project: Tajo
> Issue Type: Bug
> Components: rpc, worker
> Reporter: Hyunsik Choi
> Assignee: Jihun Kang
> Attachments: NettyClientBase.tolerance.20140918.patch,
> TAJO-1025.20140920.patch, TaskRunner.modified.20140918.patch
>
>
> If network is disconnected during query processing, infinite exception will
> be caused as follows:
> Actually, network disconnection may occur rarely in this area, but we should
> consider such a case too.
> {noformat}
> 2014-09-02 09:46:48,673 ERROR org.apache.tajo.rpc.AsyncRpcClient: RPC
> Exception:java.net.SocketException: Network is unreachable
> 2014-09-02 09:46:48,673 ERROR org.apache.tajo.rpc.AsyncRpcClient: null,class
> org.apache.tajo.ipc.QueryMasterProtocol,Network is unreachable
> java.net.SocketException: Network is unreachable
> at sun.nio.ch.Net.connect0(Native Method)
> at sun.nio.ch.Net.connect(Net.java:465)
> at sun.nio.ch.Net.connect(Net.java:457)
> at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:670)
> at
> org.jboss.netty.channel.socket.nio.NioClientSocketPipelineSink.connect(NioClientSocketPipelineSink.java:108)
> at
> org.jboss.netty.channel.socket.nio.NioClientSocketPipelineSink.eventSunk(NioClientSocketPipelineSink.java:70)
> at
> org.jboss.netty.handler.codec.oneone.OneToOneEncoder.handleDownstream(OneToOneEncoder.java:54)
> at
> org.jboss.netty.handler.codec.oneone.OneToOneEncoder.handleDownstream(OneToOneEncoder.java:54)
> at org.jboss.netty.channel.Channels.connect(Channels.java:634)
> at
> org.jboss.netty.channel.AbstractChannel.connect(AbstractChannel.java:207)
> at
> org.jboss.netty.bootstrap.ClientBootstrap.connect(ClientBootstrap.java:229)
> at
> org.jboss.netty.bootstrap.ClientBootstrap.connect(ClientBootstrap.java:182)
> at org.apache.tajo.rpc.NettyClientBase.connect(NettyClientBase.java:76)
> at org.apache.tajo.rpc.NettyClientBase.init(NettyClientBase.java:63)
> at org.apache.tajo.rpc.AsyncRpcClient.<init>(AsyncRpcClient.java:77)
> at
> org.apache.tajo.rpc.RpcConnectionPool.makeConnection(RpcConnectionPool.java:64)
> at
> org.apache.tajo.rpc.RpcConnectionPool.getConnection(RpcConnectionPool.java:78)
> at org.apache.tajo.worker.TaskRunner$1.run(TaskRunner.java:378)
> at java.lang.Thread.run(Thread.java:744)
> 2014-09-02 09:46:48,673 ERROR org.apache.tajo.rpc.AsyncRpcClient: RPC
> Exception:java.net.SocketException: Network is unreachable
> 2014-09-02 09:46:48,673 ERROR org.apache.tajo.rpc.AsyncRpcClient: null,class
> org.apache.tajo.ipc.QueryMasterProtocol,Network is unreachable
> java.net.SocketException: Network is unreachable
> at sun.nio.ch.Net.connect0(Native Method)
> at sun.nio.ch.Net.connect(Net.java:465)
> at sun.nio.ch.Net.connect(Net.java:457)
> at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:670)
> at
> org.jboss.netty.channel.socket.nio.NioClientSocketPipelineSink.connect(NioClientSocketPipelineSink.java:108)
> at
> org.jboss.netty.channel.socket.nio.NioClientSocketPipelineSink.eventSunk(NioClientSocketPipelineSink.java:70)
> at
> org.jboss.netty.handler.codec.oneone.OneToOneEncoder.handleDownstream(OneToOneEncoder.java:54)
> at
> org.jboss.netty.handler.codec.oneone.OneToOneEncoder.handleDownstream(OneToOneEncoder.java:54)
> at org.jboss.netty.channel.Channels.connect(Channels.java:634)
> at
> org.jboss.netty.channel.AbstractChannel.connect(AbstractChannel.java:207)
> at
> org.jboss.netty.bootstrap.ClientBootstrap.connect(ClientBootstrap.java:229)
> at
> org.jboss.netty.bootstrap.ClientBootstrap.connect(ClientBootstrap.java:182)
> at org.apache.tajo.rpc.NettyClientBase.connect(NettyClientBase.java:76)
> at org.apache.tajo.rpc.NettyClientBase.init(NettyClientBase.java:63)
> at org.apache.tajo.rpc.AsyncRpcClient.<init>(AsyncRpcClient.java:77)
> at
> org.apache.tajo.rpc.RpcConnectionPool.makeConnection(RpcConnectionPool.java:64)
> at
> org.apache.tajo.rpc.RpcConnectionPool.getConnection(RpcConnectionPool.java:78)
> at org.apache.tajo.worker.TaskRunner$1.run(TaskRunner.java:378)
> at java.lang.Thread.run(Thread.java:744)
> ....
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)