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

Emmanuel Lecharny updated DIRMINA-792:
--------------------------------------
    Description: 
After some time of operation the following code waits forever.

{code}
WriteFuture wf = getSession().write(message);
wf.await();
{code}

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.

  was:
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.


> 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
>             Fix For: 2.0.8
>
>
> After some time of operation the following code waits forever.
> {code}
> WriteFuture wf = getSession().write(message);
> wf.await();
> {code}
> 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 was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to