Public bug reported:

related salesforce case#00290868

Tornado has no 'flow control' for websockets. A websocket will receive data as 
fast as it can, and store the data in a deque. If that data is not consumed as 
fast as it is written, then that deque will grow in size indefinitely, 
ultimately leading to a memory error and killing the process.
Fix is to use a Queue. Read and get messages from the queue on the client side. 

Patch file [0]
Commit history [1]
GitHub [2]
Issue [3]

[0] 
https://patch-diff.githubusercontent.com/raw/tornadoweb/tornado/pull/2351.patch
[1] https://github.com/tornadoweb/tornado/pull/2351/commits
[2] https://github.com/tornadoweb/tornado
[3] https://github.com/tornadoweb/tornado/issues/2341

Will provide test setup at a later point

** Affects: python-tornado (Ubuntu)
     Importance: Undecided
         Status: New

-- 
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:
  Backport 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