Mina Server and Client on same machine stop communicating on large amounts of 
data
----------------------------------------------------------------------------------

                 Key: DIRMINA-865
                 URL: https://issues.apache.org/jira/browse/DIRMINA-865
             Project: MINA
          Issue Type: Bug
          Components: Core
    Affects Versions: 2.0.4
         Environment: Tested on Fedora 15 and Windows 7.
            Reporter: Bjarke B. Blendstrup


I have two small test programs both using MINA. The Server accepts connections 
on a port. When clients connect, the server sends a large amount of small 
messages (approx. 1000 a second). The client simply echoes the recieved 
messages to std out. The server echoes getScheduledWriteMessages() for each 
client session approx. once every 10 seconds.

When the simple version of the setup runs, the client always keeps up with the 
server - no problem. BUT if I introduce a small burst of messages, 50 messages 
every 1 second sent without delays, on top of the 1000 a second, something 
wierd happens.The number of scheduled write messages starts to increase AND 
NEVER decrease again.

The "funny" thing is that this ONLY happens when the client and server run on 
the same machine (both linux and windows). If they comm. across a network, this 
*never* happens.

This is the output from my server with two clients connected. One client is on 
the same machine as the server, the other on another machine on the LAN.

Wed Oct 05 15:16:56 CEST 2011: 0/0
Wed Oct 05 15:16:56 CEST 2011: 1428/28
Wed Oct 05 15:16:58 CEST 2011: 2550/50
Wed Oct 05 15:16:58 CEST 2011: 1683/33
Wed Oct 05 15:16:59 CEST 2011: 918/18
Wed Oct 05 15:16:59 CEST 2011: 2346/46
Wed Oct 05 15:17:00 CEST 2011: 1377/27
Wed Oct 05 15:17:00 CEST 2011: 2193/43
Wed Oct 05 15:17:01 CEST 2011: 2550/50
Wed Oct 05 15:17:01 CEST 2011: 2550/50
Wed Oct 05 15:17:03 CEST 2011: 2550/50
Wed Oct 05 15:17:03 CEST 2011: 2550/50
Wed Oct 05 15:17:04 CEST 2011: 2550/50
Wed Oct 05 15:17:04 CEST 2011: 1989/39
Wed Oct 05 15:17:05 CEST 2011: 2550/50
Wed Oct 05 15:17:05 CEST 2011: 1683/33
Wed Oct 05 15:17:06 CEST 2011: 2550/50
Wed Oct 05 15:17:06 CEST 2011: 2550/50
Wed Oct 05 15:17:07 CEST 2011: 2550/50
Wed Oct 05 15:17:07 CEST 2011: 2550/50
Wed Oct 05 15:17:09 CEST 2011: 0/0
Wed Oct 05 15:17:09 CEST 2011: 2550/50
Wed Oct 05 15:17:10 CEST 2011: 2550/50
Wed Oct 05 15:17:10 CEST 2011: 2550/50
Wed Oct 05 15:17:11 CEST 2011: 1836/36
Wed Oct 05 15:17:11 CEST 2011: 2193/44
Wed Oct 05 15:17:12 CEST 2011: 1785/35
Wed Oct 05 15:17:12 CEST 2011: 4641/91
Wed Oct 05 15:17:14 CEST 2011: 2499/49
Wed Oct 05 15:17:14 CEST 2011: 6681/131
Wed Oct 05 15:17:15 CEST 2011: 1989/39
Wed Oct 05 15:17:15 CEST 2011: 56326/1105
Wed Oct 05 15:17:16 CEST 2011: 1530/30
Wed Oct 05 15:17:16 CEST 2011: 93441/1833
Wed Oct 05 15:17:17 CEST 2011: 1734/34
Wed Oct 05 15:17:17 CEST 2011: 130556/2560
Wed Oct 05 15:17:18 CEST 2011: 1785/35
Wed Oct 05 15:17:18 CEST 2011: 184055/3609
Wed Oct 05 15:17:20 CEST 2011: 1734/34
Wed Oct 05 15:17:20 CEST 2011: 221170/4337
Wed Oct 05 15:17:21 CEST 2011: 1836/36
Wed Oct 05 15:17:21 CEST 2011: 258285/5065
Wed Oct 05 15:17:22 CEST 2011: 1734/34
Wed Oct 05 15:17:22 CEST 2011: 311784/6114
Wed Oct 05 15:17:23 CEST 2011: 2550/50
Wed Oct 05 15:17:23 CEST 2011: 348899/6842
Wed Oct 05 15:17:25 CEST 2011: 2550/50
Wed Oct 05 15:17:25 CEST 2011: 386014/7569
Wed Oct 05 15:17:26 CEST 2011: 1734/34
Wed Oct 05 15:17:26 CEST 2011: 439513/8618
Wed Oct 05 15:17:27 CEST 2011: 1581/28
Wed Oct 05 15:17:27 CEST 2011: 476628/9346
Wed Oct 05 15:17:28 CEST 2011: 1887/36
Wed Oct 05 15:17:28 CEST 2011: 513743/10074
Wed Oct 05 15:17:29 CEST 2011: 2550/50
Wed Oct 05 15:17:29 CEST 2011: 567242/11123
Wed Oct 05 15:17:31 CEST 2011: 2550/50
Wed Oct 05 15:17:31 CEST 2011: 604357/11851
Wed Oct 05 15:17:32 CEST 2011: 2550/50
Wed Oct 05 15:17:32 CEST 2011: 641472/12578
Wed Oct 05 15:17:33 CEST 2011: 1836/36
Wed Oct 05 15:17:33 CEST 2011: 692733/13583
Wed Oct 05 15:17:34 CEST 2011: 1734/34
Wed Oct 05 15:17:34 CEST 2011: 732086/14355
Wed Oct 05 15:17:36 CEST 2011: 2040/40
Wed Oct 05 15:17:36 CEST 2011: 769201/15083
Wed Oct 05 15:17:37 CEST 2011: 1734/34
Wed Oct 05 15:17:37 CEST 2011: 817122/16022
Wed Oct 05 15:17:38 CEST 2011: 1836/36
Wed Oct 05 15:17:38 CEST 2011: 859815/16860
Wed Oct 05 15:17:39 CEST 2011: 2499/49
Wed Oct 05 15:17:39 CEST 2011: 896930/17587
Wed Oct 05 15:17:41 CEST 2011: 1173/23
Wed Oct 05 15:17:41 CEST 2011: 943449/18499
Wed Oct 05 15:17:42 CEST 2011: 2550/50
Wed Oct 05 15:17:42 CEST 2011: 987544/19364
Wed Oct 05 15:17:43 CEST 2011: 1632/32
Wed Oct 05 15:17:43 CEST 2011: 1024659/20092
Wed Oct 05 15:17:44 CEST 2011: 2550/50
Wed Oct 05 15:17:44 CEST 2011: 1068756/20956
Wed Oct 05 15:17:45 CEST 2011: 1938/38
Wed Oct 05 15:17:45 CEST 2011: 1115273/21869
Wed Oct 05 15:17:47 CEST 2011: 2550/50
Wed Oct 05 15:17:47 CEST 2011: 1152388/22596
Wed Oct 05 15:17:48 CEST 2011: 969/19
Wed Oct 05 15:17:48 CEST 2011: 1194267/23417
Wed Oct 05 15:17:49 CEST 2011: 1785/35
Wed Oct 05 15:17:49 CEST 2011: 1243002/24373
Wed Oct 05 15:17:50 CEST 2011: 1530/30
Wed Oct 05 15:17:50 CEST 2011: 1280117/25101
Wed Oct 05 15:17:52 CEST 2011: 2550/50
Wed Oct 05 15:17:52 CEST 2011: 1319319/25869
Wed Oct 05 15:17:53 CEST 2011: 1632/32
Wed Oct 05 15:17:53 CEST 2011: 1370731/26878
Wed Oct 05 15:17:54 CEST 2011: 2550/50

You can see here the number of messages queued start increasing, and no matter 
how long the test runs, it will never decrease again.

Another fun fact is that if I use telnet as a client, this never happens either 
- no matter if the telnet is running on same machine or not.

This may seem as a very stupid test case, but it is a very good simulation of 
the behaviour of the system I am trying to build. I hope you can see from the 
code whether the fault is mine or not!

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to