[ https://issues.apache.org/jira/browse/DIRMINA-1039?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15366799#comment-15366799 ]
ASF GitHub Bot commented on DIRMINA-1039: ----------------------------------------- GitHub user mariapetridean opened a pull request: https://github.com/apache/mina/pull/9 DIRMINA-1039 - continue process the write requests after handling an … …empty message marker You can merge this pull request into a Git repository by running: $ git pull https://github.com/mariapetridean/mina 2.0 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/mina/pull/9.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #9 ---- ---- > Response messages queue up on the server side waiting to be written to > socket, while the server continues to read more request messages, causing out > of heap memory > ------------------------------------------------------------------------------------------------------------------------------------------------------------------- > > Key: DIRMINA-1039 > URL: https://issues.apache.org/jira/browse/DIRMINA-1039 > Project: MINA > Issue Type: Bug > Components: Core > Reporter: Maria Petridean > Original Estimate: 2h > Remaining Estimate: 2h > > One case in which this bug reproduces is by using a client which generates a > heavy request-load. The mina thread which processes both reads and writes - > exits the write cycle after processing every empty marker (the WriteRequest > which wraps an empty buffer, acting as a message marker). This will result in > the thread resuming the read cycle, hence reading more client request > messages. After a few minutes, the number of read messages is much larger > than the number of written response messages, even though the responses are > waiting in the queue, ready to be written to socket. > To solve this, the sever shouldn't exit the write cycle after processing > every marker WriteRequest. This way the ratio between the read and written > messages will be more balanced; this will avoid the heap memory getting full > and causing server degradation. > Also, an improvement can be considered here to avoid using the same single > thread for both reads and writes. -- This message was sent by Atlassian JIRA (v6.3.4#6332)