Edward Capriolo created CASSANDRA-6871:
------------------------------------------
Summary: Dynamic class loading for triggers (and udfs)
Key: CASSANDRA-6871
URL: https://issues.apache.org/jira/browse/CASSANDRA-6871
Project: Cassandra
Issue Type: New Feature
Reporter: Edward Capriolo
Assignee: Edward Capriolo
Currently the trigger feature requires out of band shipping jar files to
servers. In the near future users may be able to provide custom functions like
trim() dynamically like pig and hive do. In order to accomplish this securely
my suggestion is this.
1. Add a new configuration knob to cassandra.yaml which controls how users are
allowed to load class definitions.
{code}
dynamic_loading:
- JAVA_LOCAL_CLASSPATH
- GROOVY_CLASS_LOADER
{code}
2. Add the https://github.com/edwardcapriolo/nit-compiler to the project as a
dependency.
3. Profit: A follow on piece would allow triggers to be defined in a JVM
language. Features like https://issues.apache.org/jira/browse/CASSANDRA-6870
could use this. Users can also create different pluggable components to CQL at
runtime.
This issue would just be about brining the dynamic loading mechanism in the
project securely. Not implementing it in a user facincg way.
--
This message was sent by Atlassian JIRA
(v6.2#6252)