This didn't cause an issue with the a production application so it was more of an email to fetch information. I will look into using the listeners.<br><br>Bob (Buffone)<br><br><div class="gmail_quote">On Tue, Apr 28, 2009 at 7:53 PM, Trustin Lee <span dir="ltr"><<a href="mailto:tlee@redhat.com">tlee@redhat.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hi Bob,<br>
<div class="im"><br>
On Tue, Apr 28, 2009 at 8:26 AM, Bob Buffone <<a href="mailto:bbuffone@rockstarapps.com">bbuffone@rockstarapps.com</a>> wrote:<br>
> <info>Excuse me if this message was already posted but I got an email saying<br>
> I sent it from the wrong email address.</info><br>
<br>
</div>Actually, it was posted twice. ;)<br>
<div class="im"><br>
> In the last beta code that was released; a change to the<br>
> DefaultChannelFuture is causing me some issues. The code for the await<br>
> methods (await() and awaitUninterruptibly()) where changed to include a<br>
> check for a deadlocking issue.<br>
><br>
> Code Committed - <a href="http://www.jboss.org/netty/community.html#nabble-td2681425" target="_blank">http://www.jboss.org/netty/community.html#nabble-td2681425</a><br>
> This is in response I assume for the Jira issue -<br>
> <a href="https://jira.jboss.org/jira/browse/NETTY-140" target="_blank">https://jira.jboss.org/jira/browse/NETTY-140</a>.<br>
<br>
</div>Yes, I did.<br>
<div class="im"><br>
> This changes as it is committed now means that you can't use the await**()<br>
> methods from inside any SimpleChannelHandler(s). What I am doing in my code<br>
> is based on a particular incoming message. I am building a connection to<br>
> another server to relay this information (if the connection isn't already<br>
> built). I was using an await**() method to well wait until the connection<br>
> was build so I could relay the information.<br>
><br>
> Was this change intended to remove this as type of scenario? or was there<br>
> another issue?<br>
<br>
</div>This is a good example where you need to use addListener() instead.<br>
<br>
If you wait until the connection attempt is done in your handler by<br>
calling await*() method, then there's a chance where the caller I/O<br>
thread is blocked until the connection attempt is done. If an I/O<br>
thread is blocked, other connections being handled by that I/O thread<br>
will also be blocked, showing sudden performance drop. It might not<br>
be a big deal if the connection attempt is done very quickly, but<br>
there's no way to guarantee that in network application development.<br>
Does it make a sense for you? I'd like to listen to you closely if<br>
this change has broken your application.<br>
<br>
Thanks,<br>
<br>
— Trustin Lee, <a href="http://gleamynode.net/" target="_blank">http://gleamynode.net/</a><br>
<br>
_______________________________________________<br>
netty-users mailing list<br>
<a href="mailto:netty-users@lists.jboss.org">netty-users@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/netty-users" target="_blank">https://lists.jboss.org/mailman/listinfo/netty-users</a><br>
</blockquote></div><br>