[ https://issues.apache.org/jira/browse/PROTON-760?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14228746#comment-14228746 ]
ASF subversion and git services commented on PROTON-760: -------------------------------------------------------- Commit 39cd8c5dc75d4e5e68c67360f320fc7a2fd5e29a in qpid-proton's branch refs/heads/master from [~fadams] [ https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git;h=39cd8c5 ] PROTON-760: Improve the JavaScript binding's internal Event loop and add additional tests. > Improve the JavaScript binding's internal Event loop and add additional tests > ----------------------------------------------------------------------------- > > Key: PROTON-760 > URL: https://issues.apache.org/jira/browse/PROTON-760 > Project: Qpid Proton > Issue Type: Improvement > Reporter: Fraser Adams > > Improve the JavaScript binding's internal Event loop and add additional tests. > The addition of JavaScript soak/performance tests msgr-send.js and > msgr-recv.js, which mirror tests of the same name in C and Python flagged up > a few edge cases that caused sporadic failures. The problems seem to be > related to the ws WebSocket library directly calling some callbacks rather > than posting to the JavaScript internal Event queue. The effect of calling > directly mean that the main message handler and the close handler could > actually get called *concurrently* which is clearly a bad thing and somewhat > undexpected in JavaScript..... The improvements here add a number of guard > tests and introduce a setTimeout that allows the "real" close handler to be > deferred by posting it onto the Event queue. > msgr-send and msgr-recv have been run with counts of several million messages > and also with message sizes of up to 2MB and everything seems stable now. -- This message was sent by Atlassian JIRA (v6.3.4#6332)