Hi team,

I started some initial work on the Java 17 support (CASSANDRA-16895).

One of the first observations is that Nashorn, which was already deprecated
in Java 11, is already fully removed. We use it for UDFs and one short
script <https://github.com/apache/cassandra/blob/trunk/build.xml#L147-L155>
in build.xml. The solution to that is to introduce graal as a dependency.
While graaljs is under UPL license, which is accepted by Apache, I believe
we also need the graal-sdk[2] which is under GPL2 which is not compatible
with Apache License, version 2.0. (Thanks Brandon for pointing that out)

For reference:

[1] https://www.graalvm.org/reference-manual/js/NashornMigrationGuide/

[2] https://github.com/oracle/graaljs/blob/master/docs/user/RunOnJDK.md

[3] https://ant.apache.org/manual/Tasks/script.html

[4]  https://www.apache.org/licenses/GPL-compatibility.html

At this point, I haven’t found any other substitution for Nashorn that can
fit our needs and while the build.xml issue can be possibly easily solved(I
guess), I am wondering what would be the right approach for the UDFs.

I am wondering what others think about that. Any
thoughts/experience/suggestions?

Best regards,

Ekaterina

Reply via email to