You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@tajo.apache.org by "Hyoungjun Kim (JIRA)" <ji...@apache.org> on 2014/05/14 11:39:14 UTC

[jira] [Updated] (TAJO-821) IllegalStateException occurs when a NettyClientBase object is created within single thread.

     [ https://issues.apache.org/jira/browse/TAJO-821?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Hyoungjun Kim updated TAJO-821:
-------------------------------

    Attachment: TAJO-821.patch

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