Hi All,

I have a UDF/UDA that returns a map of date -> TupleValue.

CREATE OR REPLACE FUNCTION min_max_by_timestamps_udf(state map<date, 
frozen<tuple<timestamp, timestamp>>>, flake blob)
RETURNS NULL ON NULL INPUT
RETURNS map<date, frozen<tuple<timestamp, timestamp>>>
LANGUAGE java

CREATE OR REPLACE AGGREGATE min_max_by_timestamps(blob)
SFUNC min_max_by_timestamps_udf
STYPE map<date, frozen<tuple<timestamp, timestamp>>>
INITCOND {};

I’ve been using the following syntax to build the TupleType/TupleValue in my 
UDF:

TupleType tupleType = 
TupleType.of(com.datastax.driver.core.ProtocolVersion.NEWEST_SUPPORTED, 
CodecRegistry.DEFAULT_INSTANCE, DataType.timestamp(), DataType.timestamp());
tupleType.newValue(new java.util.Date(timestamp), new 
java.util.Date(timestamp)));

But “randomly" I get errors like the following:
FunctionFailure: code=1400 [User Defined Function failure] message="execution 
of ’testdb.min_max_by_timestamps_udf[map<date, frozen<tuple<timestamp, 
timestamp>>>, blob]' failed: java.security.AccessControlException: access 
denied ("java.io.FilePermission" "/etc/cassandra/logback.xml" "read”)"

Or CodecNotFoundException for Cassandra not being able to find a codec for 
"map<date, frozen<tuple<timestamp, timestamp>>>”.

Is this a bug or I’m doing something wrong?


Thanks,

Drew

Reply via email to