[
https://issues.apache.org/jira/browse/TAJO-821?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14002960#comment-14002960
]
Hudson commented on TAJO-821:
-----------------------------
SUCCESS: Integrated in Tajo-0.8.1-build #99 (See
[https://builds.apache.org/job/Tajo-0.8.1-build/99/])
TAJO-821: IllegalStateException occurs when a NettyClientBase object is created
within single thread. (hyoungjunkim via jinho) (jinossy: rev
49bc60b4d3c8fecd1b1c6df469c396ba38dfe7e9)
* tajo-rpc/src/main/java/org/apache/tajo/rpc/NettyClientBase.java
* CHANGES
> IllegalStateException occurs when a NettyClientBase object is created within
> single thread.
> -------------------------------------------------------------------------------------------
>
> Key: TAJO-821
> URL: https://issues.apache.org/jira/browse/TAJO-821
> Project: Tajo
> Issue Type: Bug
> Reporter: Hyoungjun Kim
> Assignee: Hyoungjun Kim
> Priority: Minor
> Fix For: 0.9.0, 0.8.1
>
> Attachments: TAJO-821.patch
>
>
> When I created a TajoClient instance which uses a NettyClientBase on a
> TajoMaster's RPC handler, the following exception occurs.
> {noformat}
> java.lang.IllegalStateException: await*() in I/O thread causes a dead lock or
> sudden performance drop. Use addListener() instead or call await*() from a
> different thread.
> at
> org.jboss.netty.channel.DefaultChannelFuture.checkDeadLock(DefaultChannelFuture.java:343)
> at
> org.jboss.netty.channel.DefaultChannelFuture.await0(DefaultChannelFuture.java:307)
> at
> org.jboss.netty.channel.DefaultChannelFuture.await(DefaultChannelFuture.java:248)
> at
> com.cloudhopper.smpp.impl.DefaultSmppClient.createConnectedChannel(DefaultSmppClient.java:266)
> at
> com.cloudhopper.smpp.impl.DefaultSmppClient.doOpen(DefaultSmppClient.java:216)
> at
> com.cloudhopper.smpp.impl.DefaultSmppClient.bind(DefaultSmppClient.java:185)
> {noformat}
> There is some issues about this error in Netty 3.6. Check the following url.
> https://community.jboss.org/thread/221243
> This issue can be resolved by setting the deadLockChecker to false.
> {code}
> DefaultChannelFuture.setUseDeadLockChecker(false);
> {code}
> But this solution is to have a potential problem. So I suggest that
> NettyClientBase uses ChannelFutureListener.operationComplete() instead of
> awaitUninterruptibly()
--
This message was sent by Atlassian JIRA
(v6.2#6252)