VizierDB / vizier-scala

The Vizier kernel-free notebook programming environment
Other
34 stars 11 forks source link

Refreshing notebook with > 128 cells via webui kills the websocket #229

Open okennedy opened 1 year ago

okennedy commented 1 year ago

Describe the bug Akka, and specifically the websocket actor has a fixed-size buffer for messages. Right now, this is hardcoded to 128.

When refreshing a workflow through the webui, we get a storm of "state update" messages. If there are more than 128 such messages before the websocket actor has a chance to process them, the update thread crashes.

okennedy commented 11 months ago

The same problem shows up in the spreadsheet socket c.f. #273

TODO: Investigate support for the backpressure channel overflow strategy. We should be using this in general; even batching updates together is potentially going to explode things. Backpressure is a more correct way to solve the problem... before we start optimizing.