Skip to content

Multi-threaded interpreter #23080

@kibanamachine

Description

@kibanamachine

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

Metadata

Metadata

Assignees

Labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions