The clients are running on our users' systems and should (but may not) behave properly. I assume those misbehaving clients need to be disconnected after a while of not reading any messages?
Sending messages only after the previous message has been sent would require me to implement my own message queue, which would just shift the problem. Is there functionality within MINA to check if a client does not read their queue and automatically trigger disconnects? Thanks Henning Rohlfs On Mon, Dec 9, 2013 at 9:22 PM, Emmanuel Lécharny <[email protected]>wrote: > Le 12/9/13 12:09 PM, Henning Rohlfs a écrit : > > Hello, > > > > we are using MINA 2.0.7 in our servers and clients. Recently (twice, on > two > > separate servers), we saw a rather unexpected phenomenon: MINA's > scheduled > > write messages kept rising (over about half a day) until our server ran > out > > of memory. This has not happened before. > > > > There were also a number of connections stuck in CLOSE_WAIT, which > usually > > don't occur on our servers. At the end we had more than 10 million > > scheduled messages with more than 500 MByte of scheduled data. > > What about the clients ? Do you had some clients who sent some requests, > but never read them ? In this case, it's likely that the messages will > be stacked forever, growing and growing. > > You should mitigate such situation, either by checking the client's > idleness, or by sending messages only if the previous message has been > sent (something you can control using the messageSent event). > > -- > Regards, > Cordialement, > Emmanuel Lécharny > www.iktek.com > >
