-
-
Notifications
You must be signed in to change notification settings - Fork 15
Open
Labels
Description
Is your feature request related to a problem? Please describe
FEEL expressions can easily cause complexity explosion, leading to excessive run-time. The library should allow users to define guardrails, so that evaluation can be aborted.
In most cases, FEEL expressions are user-provided. The interpreter should encourage it's safe use. The alternative is that, due to the nature of JavaScript, the embedding environment simply dies - the browser tab crashes (for web embedding) or the node process runs out of memory.
Example 1 - looping over huge collection
for i in 1..10000 return i+5
Example 2 - cross join causing complexity explosion
for a in 1..50, b in 1..50, c in 1..50, d in 1..5 return ...
Describe the solution you'd like
- As a user I can abort an execution, i.e. after a specific amount of time; this could be done through, i.e. an
AbortSignal
Describe alternatives you've considered
- Instead of giving users control the library could enforce basic safe guards.
Additional context
Related to camunda/feel-scala#823
Reactions are currently unavailable