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

ASF GitHub Bot commented on PROTON-1408:
----------------------------------------

Github user astitcher commented on a diff in the pull request:

    https://github.com/apache/qpid-proton/pull/99#discussion_r107258218
  
    --- Diff: proton-c/src/core/transport.c ---
    @@ -1648,7 +1659,7 @@ int pn_do_disposition(pn_transport_t *transport, 
uint8_t frame_type, uint16_t ch
       bool remote_data = (pn_data_next(transport->disp_data) &&
                           pn_data_get_list(transport->disp_data) > 0);
     
    -  for (pn_sequence_t id = first; id <= last; id++) {
    +  for (pn_sequence_t id = first; sequence_less_than(id, last) || (id == 
last); id++) {
    --- End diff --
    
    Of course this test will still do the wrong thing if the wrap-around is big 
enough (ie if first > last at teh start of the loop)


> long-lived connections suffer large performance hit after many messages
> -----------------------------------------------------------------------
>
>                 Key: PROTON-1408
>                 URL: https://issues.apache.org/jira/browse/PROTON-1408
>             Project: Qpid Proton
>          Issue Type: Bug
>          Components: proton-c
>            Reporter: michael goulish
>            Assignee: Alan Conway
>         Attachments: jira_proton_1408_reproducer.tar.gz
>
>
> In long-running soak tests, in which connections are never taken down, I am 
> seeing a sudden & severe performance degradation when the number of messages 
> over the connection reaches about 6.4 billion.  
> This is happening in tests with two senders, two receivers & one router 
> intermediating.  
> I have tried C libUV clients as well as CPP clients.  Behavior is not 
> identical, but I see sudden performance drop, ie. 8x throughput decrease or 
> worse, in both cases.
> Alan / Ted / Ken see an issue in use of improper comparison logic in 
> pn_do_disposition(), in transport.c  .     I am trying to prove this now.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org

Reply via email to