Uploaded image for project: 'Tajo (Retired)'
  1. Tajo (Retired)
  2. TAJO-821

IllegalStateException occurs when a NettyClientBase object is created within single thread.

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • None
    • 0.9.0, 0.8.1
    • None
    • None

    Description

      When I created a TajoClient instance which uses a NettyClientBase on a TajoMaster's RPC handler, the following exception occurs.

          
      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)
      

      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.

      DefaultChannelFuture.setUseDeadLockChecker(false);
      

      But this solution is to have a potential problem. So I suggest that NettyClientBase uses ChannelFutureListener.operationComplete() instead of awaitUninterruptibly()

      Attachments

        1. TAJO-821.patch
          0.7 kB
          Hyoungjun Kim

        Activity

          People

            hjkim Hyoungjun Kim
            hjkim Hyoungjun Kim
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: