You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mina.apache.org by "David Gibbs (JIRA)" <ji...@apache.org> on 2017/10/06 15:56:00 UTC

[jira] [Comment Edited] (DIRMINA-1057) AbstractIoSession getScheduledWriteMessages always -negative?

    [ https://issues.apache.org/jira/browse/DIRMINA-1057?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16194767#comment-16194767 ] 

David Gibbs edited comment on DIRMINA-1057 at 10/6/17 3:55 PM:
---------------------------------------------------------------

I don't think that I understand this code well but is it the case that if one is using a ProtocolCodecFilter - that contains an IoBuffer - ScheduledWriteMessages will not be incremented ?
The fragment below from DefaultIoFilterChain (for the referenced version, start line 734) suggests that ScheduledWriteBytes or ScheduledWriteMessages will be incremented, not both.

// Maintain counters.
            if (writeRequest.getMessage() instanceof IoBuffer) {
                IoBuffer buffer = (IoBuffer) writeRequest.getMessage();
                // I/O processor implementation will call buffer.reset()
                // it after the write operation is finished, because
                // the buffer will be specified with messageSent event.
                buffer.mark();
                int remaining = buffer.remaining();

                if (remaining > 0) {
                    s.increaseScheduledWriteBytes(remaining);
                }
            } else {
                s.increaseScheduledWriteMessages();
            } 


was (Author: david-gibbs-ig):
I don't think that I understand this code well but is it the case that if one is using a ProtocolCodecFilter - that contains an IoBuffer - ScheduledWriteMessages will not be incremented ?
The fragment below from DefaultIoFilterChain (for the referenced version) suggests that ScheduledWriteBytes or ScheduledWriteMessages will be incremented, not both.

// Maintain counters.
            if (writeRequest.getMessage() instanceof IoBuffer) {
                IoBuffer buffer = (IoBuffer) writeRequest.getMessage();
                // I/O processor implementation will call buffer.reset()
                // it after the write operation is finished, because
                // the buffer will be specified with messageSent event.
                buffer.mark();
                int remaining = buffer.remaining();

                if (remaining > 0) {
                    s.increaseScheduledWriteBytes(remaining);
                }
            } else {
                s.increaseScheduledWriteMessages();
            } 

> AbstractIoSession getScheduledWriteMessages always -negative?
> -------------------------------------------------------------
>
>                 Key: DIRMINA-1057
>                 URL: https://issues.apache.org/jira/browse/DIRMINA-1057
>             Project: MINA
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.0.16
>         Environment: I'm testing slow consumer backlog detection and while getScheduledWriteBytes() correctly grows, getScheduledWriteMessages is always negative and does not increase. looking into code to see why but putting bug report here as well for tracking
>            Reporter: Andre Mermegas
>




--
This message was sent by Atlassian JIRA
(v6.4.14#64029)