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

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

Github user mgoulish commented on the issue:

    https://github.com/apache/qpid-proton/pull/99
  
    I have updated to use Andrew's cleaner sequence_cmp() idea, and added a new 
change: preventing sign-extension from pn_sequence_t to uintptr_t in the calls 
to pn_hash_put() and pn_hash_get().   This sign extension appears to be 
happening in one pathway but not the other, so that , when we wrap around to 
negative p_sequence_t values, pn_hash_get() and pn_hash_put() are getting 
different hash values.
    
    I know how this sounds -- but with this change my test got through the 2^31 
barrier for the first time ever.
    It sounds like heresy -- but -- eppur si muove.
    
    This is probably not the end of the story -- I had runaway memory 
consumption later, but the test got to 2.25 billion messages before I had to 
kill it.  Well past the 2^32 barrier, which == 2.147 billion.


> 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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to