Hello,
Currently conductor is using nashorn as ScriptEngine to evaluate some Javascript code (for instance in the DECISION task, but potentially in the future everywhere in the workflow, cf. #1421).
Apparently Nashorn has been deprecated since jdk 11 and furthermore is providing few support for ECMAScript 6.
So I was thinking that maybe conductor could migrate to a new script engine: GraalVM.
It supports ES6 and it is faster.
Here an article showing that it can be set also to be backward compatible with nashorn script: https://medium.com/graalvm/oracle-graalvm-announces-support-for-nashorn-migration-c04810d75c1f
What do you think?
Linked with #1120
@andrea11 We ended up using Graal in our use of Conductor, and it's been working great. Also allows us to sandbox the code that's running and control execution time.
If there's interest from the Conductor folks, I'd be happy to take a crack at contributing back what we've done
@andrea11 Thanks for doing the research on this topic. This would definitely be a good addition and replacement for Nashorn in the long term.
@davidzzzzz Please feel free to submit a PR with your implementation and we will be happy to review and merge it for wider consumption.
@apanicker-nflx Great, will get something together!
Most helpful comment
@andrea11 We ended up using Graal in our use of Conductor, and it's been working great. Also allows us to sandbox the code that's running and control execution time.
If there's interest from the Conductor folks, I'd be happy to take a crack at contributing back what we've done