[ 
https://issues.apache.org/jira/browse/PROTON-760?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Justin Ross updated PROTON-760:
-------------------------------
    Component/s: javascript-binding

> 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
>          Components: javascript-binding
>            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)

Reply via email to