-
Notifications
You must be signed in to change notification settings - Fork 8.6k
Multi-threaded interpreter #23080
Copy link
Copy link
Closed
Labels
PR sentTeam:PresentationPresentation Team for Dashboard, Input Controls, and Canvas t//Presentation Team for Dashboard, Input Controls, and Canvas t//blockerloe:x-largeExtra Large Level of EffortExtra Large Level of Effortv6.5.0v7.0.0
Metadata
Metadata
Assignees
Labels
PR sentTeam:PresentationPresentation Team for Dashboard, Input Controls, and Canvas t//Presentation Team for Dashboard, Input Controls, and Canvas t//blockerloe:x-largeExtra Large Level of EffortExtra Large Level of Effortv6.5.0v7.0.0
Type
Fields
Give feedbackNo fields configured for issues without a type.
Original comment by @lukasolson:
See LINK REDACTED
Server forking. Currently Canvas can bring down the kibana server if the user manages to craft a massive expression. Also, our slow functions all run on the server, but all in a single thread. We need to fork workers. The problem exists in the browser too, but we don’t usually run slow stuff there.
It'd be awesome if we could also get browser forking to work.
Maybe check out node-serviceworker, webworker-threads, webassembly-threads
Rough set of phases for this work:
phase 1: Just get function execution in forked process working
phase 2: Figure out best way to load functions from plugins in forked process
phase 3: Get it working in the browser
phase 4: Create thread pool