I went through the code with @hypothetical-lemon and the patches do
appear to fix the issue; with the previous code they were adding new
messages into a deque without any throttling, but now they are using a
different queue class that, while it still uses deques internally,
returns a future object for any queued message. The throttling is then
implemented in the websocket's read queue, which delays reading more
bytes from the actual low-level socket until after the future object
completes. This should restrict the queue in the tornado websocket class
to no more than 1 queued message.

Additionally, as this has always been a completely theoretical "problem"
(even the upstream bug was entirely theoretical, with nobody involved
reproducing the problem), we have no clear and easy reproducer. However,
all the package's test cases passed, indicating no regression due to the
patches.

Thus, marking this as verified.

** Tags removed: verification-needed verification-needed-bionic 
verification-needed-xenial
** Tags added: verification-done verification-done-bionic 
verification-done-xenial

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1903733

Title:
  Out of memory issue for websocket client

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/python-tornado/+bug/1903733/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to