You are viewing a plain text version of this content. The canonical link for it is here.
Posted to proton@qpid.apache.org by "ASF subversion and git services (JIRA)" <ji...@apache.org> on 2014/11/29 13:23:12 UTC
[jira] [Commented] (PROTON-760) Improve the JavaScript binding's
internal Event loop and add additional tests
[ 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)