You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mina.apache.org by "Haug Bürger (JIRA)" <ji...@apache.org> on 2010/07/07 12:01:57 UTC

[jira] Created: (DIRMINA-792) await() forever

await() forever
---------------

                 Key: DIRMINA-792
                 URL: https://issues.apache.org/jira/browse/DIRMINA-792
             Project: MINA
          Issue Type: Bug
          Components: Core
    Affects Versions: 2.0.0-RC1
         Environment: java 6, Windows XP, 32 Bit
            Reporter: Haug Bürger


After some time of operation the following code waits forever.

WriteFuture wf = getSession().write(message);
wf.await();

I have an application that successfully sends between 20-200 messages before running into the await() forever situation. What I saw with a network sniffer is that the TCP-ACK for the message has send by the receiving application. Since we have the same situation with multiple configurations, over company LAN, direct ethernet connection and both applications on the same machine I think it is not a network problem. What we saw at the log is that the TCP-ACK took more than 150ms before the call blocks.

I replaced the await code with wf.await(100L) which comes back but wf.isWritten() is still false. I'm not sure about the consequences of not waiting for the data to be written to the TCP-stack. Is this what await() does?

I tried to find the connection between the real write operation and the future but gave up. I could not even log the queue size or any other debug information. If somebody knows which of the accessible values makes sense to log or how to reschedule the read request, add a comment.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.