[ 
https://issues.apache.org/jira/browse/CASSANDRA-7563?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14220311#comment-14220311
 ] 

Tyler Hobbs commented on CASSANDRA-7563:
----------------------------------------

This is almost good to go, but it looks like there are some problems with 
Javascript in Java 7:

{noformat}
    [junit] Testcase: 
testJavascriptTupleTypeCollection(org.apache.cassandra.cql3.UFTest):      
Caused an ERROR
    [junit] Failed to compile function 'cql_test_keyspace_alt.function_75' for 
language javascript: javax.script.ScriptException: 
sun.org.mozilla.javascript.internal.EvaluatorException: missing name after . 
operator (<Unknown Source>#1)
    [junit] org.apache.cassandra.exceptions.InvalidRequestException: Failed to 
compile function 'cql_test_keyspace_alt.function_75' for language javascript: 
javax.script.ScriptException: 
sun.org.mozilla.javascript.internal.EvaluatorException: missing name after . 
operator (<Unknown Source>#1)
    [junit]     at 
org.apache.cassandra.cql3.functions.ScriptBasedUDF.<init>(ScriptBasedUDF.java:86)
    [junit]     at 
org.apache.cassandra.cql3.functions.UDFunction.create(UDFunction.java:202)
    [junit]     at 
org.apache.cassandra.cql3.statements.CreateFunctionStatement.announceMigration(CreateFunctionStatement.java:132)
    [junit]     at 
org.apache.cassandra.cql3.statements.SchemaAlteringStatement.executeInternal(SchemaAlteringStatement.java:92)
    [junit]     at 
org.apache.cassandra.cql3.QueryProcessor.executeOnceInternal(QueryProcessor.java:349)
    [junit]     at 
org.apache.cassandra.cql3.CQLTester.execute(CQLTester.java:436)
    [junit]     at 
org.apache.cassandra.cql3.CQLTester.createFunctionOverload(CQLTester.java:298)
    [junit]     at 
org.apache.cassandra.cql3.CQLTester.createFunction(CQLTester.java:289)
    [junit]     at 
org.apache.cassandra.cql3.UFTest.testJavascriptTupleTypeCollection(UFTest.java:1138)
    [junit] 
    [junit] 
    [junit] Testcase: 
testJavascriptUTCollections(org.apache.cassandra.cql3.UFTest):    Caused an 
ERROR
    [junit] Execution of user-defined function 'cql_test_keyspace.function_83' 
failed: javax.script.ScriptException: 
sun.org.mozilla.javascript.internal.EcmaError: TypeError: Cannot call method 
"getString" of null (<Unknown Source>#1) in <Unknown Source> at line number 1
    [junit] org.apache.cassandra.exceptions.InvalidRequestException: Execution 
of user-defined function 'cql_test_keyspace.function_83' failed: 
javax.script.ScriptException: sun.org.mozilla.javascript.internal.EcmaError: 
TypeError: Cannot call method "getString" of null (<Unknown Source>#1) in 
<Unknown Source> at line number 1
    [junit]     at 
org.apache.cassandra.cql3.functions.ScriptBasedUDF.execute(ScriptBasedUDF.java:142)
    [junit]     at 
org.apache.cassandra.cql3.selection.ScalarFunctionSelector.getOutput(ScalarFunctionSelector.java:60)
    [junit]     at 
org.apache.cassandra.cql3.selection.Selection$SelectionWithProcessing$1.getOutputRow(Selection.java:397)
    [junit]     at 
org.apache.cassandra.cql3.selection.Selection$ResultSetBuilder.build(Selection.java:241)
    [junit]     at 
org.apache.cassandra.cql3.statements.SelectStatement.process(SelectStatement.java:1168)
    [junit]     at 
org.apache.cassandra.cql3.statements.SelectStatement.processResults(SelectStatement.java:304)
    [junit]     at 
org.apache.cassandra.cql3.statements.SelectStatement.executeInternal(SelectStatement.java:328)
    [junit]     at 
org.apache.cassandra.cql3.statements.SelectStatement.executeInternal(SelectStatement.java:65)
    [junit]     at 
org.apache.cassandra.cql3.QueryProcessor.executeOnceInternal(QueryProcessor.java:349)
    [junit]     at 
org.apache.cassandra.cql3.CQLTester.execute(CQLTester.java:436)
    [junit]     at 
org.apache.cassandra.cql3.UFTest.testJavascriptUTCollections(UFTest.java:1278)
    [junit] 
{noformat}

I believe we are considering requiring Java 8 for Cassandra 3.0, so if there's 
not a straightforward fix for whatever the underlying problem is, we could 
potentially just advertise the limitation.

> UserType, TupleType and collections in UDFs
> -------------------------------------------
>
>                 Key: CASSANDRA-7563
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7563
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Robert Stupp
>            Assignee: Robert Stupp
>             Fix For: 3.0
>
>         Attachments: 7563-7740.txt, 7563.txt, 7563v2.txt, 7563v3.txt, 
> 7563v4.txt, 7563v5.txt
>
>
> * is Java Driver as a dependency required ?
> * is it possible to extract parts of the Java Driver for UDT/TT/coll support ?
> * CQL {{DROP TYPE}} must check UDFs
> * must check keyspace access permissions (if those exist)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to