Hyoungjun Kim created TAJO-821:
----------------------------------
Summary: 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
Priority: Minor
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)