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)

Reply via email to