[ https://issues.apache.org/jira/browse/CASSANDRA-7563?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14225200#comment-14225200 ]
Tyler Hobbs commented on CASSANDRA-7563: ---------------------------------------- Hmm, I'm still getting the failure to drop a type due to a function still referencing it (because a {{DROP FUNCTION}} didn't work, as described in my previous comment): {noformat} [junit] ERROR 20:54:34 Fatal exception in thread Thread[OptionalTasks:1,5,main] [junit] java.lang.RuntimeException: java.lang.RuntimeException: Error setting schema for test (query was: DROP TYPE IF EXISTS cql_test_keyspace.type_4) [junit] at org.apache.cassandra.cql3.CQLTester$1.run(CQLTester.java:188) ~[classes/:na] [junit] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_25] [junit] at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_25] [junit] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) ~[na:1.8.0_25] [junit] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) ~[na:1.8.0_25] [junit] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[na:1.8.0_25] [junit] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_25] [junit] at java.lang.Thread.run(Thread.java:745) [na:1.8.0_25] [junit] Caused by: java.lang.RuntimeException: Error setting schema for test (query was: DROP TYPE IF EXISTS cql_test_keyspace.type_4) [junit] at org.apache.cassandra.cql3.CQLTester.schemaChange(CQLTester.java:404) ~[classes/:na] [junit] at org.apache.cassandra.cql3.CQLTester.access$000(CQLTester.java:63) ~[classes/:na] [junit] at org.apache.cassandra.cql3.CQLTester$1.run(CQLTester.java:167) ~[classes/:na] [junit] ... 7 common frames omitted [junit] Caused by: java.lang.RuntimeException: Error validating query DROP TYPE IF EXISTS cql_test_keyspace.type_4 [junit] at org.apache.cassandra.cql3.QueryProcessor.executeOnceInternal(QueryProcessor.java:374) ~[main/:na] [junit] at org.apache.cassandra.cql3.CQLTester.schemaChange(CQLTester.java:400) ~[classes/:na] [junit] ... 9 common frames omitted [junit] Caused by: org.apache.cassandra.exceptions.InvalidRequestException: Cannot drop user type cql_test_keyspace.type_4 as it is still used by function cql_test_keyspace.function_6 [junit] at org.apache.cassandra.cql3.statements.DropTypeStatement.validate(DropTypeStatement.java:83) ~[main/:na] [junit] at org.apache.cassandra.cql3.QueryProcessor.executeOnceInternal(QueryProcessor.java:361) ~[main/:na] [junit] ... 10 common frames omitted {noformat} Note that this doesn't cause the test to fail because it happens during cleanup. DROP FUNCTION statements also seem to have a problem with UDTs in a different keyspace: {noformat} cqlsh> create keyspace ks1 WITH replication = {'class': 'SimpleStrategy', 'replication_factor': '1'}; cqlsh> create keyspace ks2 WITH replication = {'class': 'SimpleStrategy', 'replication_factor': '2'}; cqlsh> create type ks1.foo (a int); cqlsh> create function ks2.myfunc (a frozen<ks1.foo>) RETURNS frozen<ks1.foo> LANGUAGE java AS $$return a;$$; cqlsh> drop function ks2.myfunc (frozen<ks1.foo>); code=2200 [Invalid query] message="Statement on keyspace ks2 cannot refer to a user type in keyspace ks1; user types can only be used in the keyspace they are defined in" {noformat} > 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, 7563v6.txt, 7563v7.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)