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

Sylvain Lebresne commented on CASSANDRA-10365:
----------------------------------------------

bq. If anything (new) is failing, I'll fix it all today

Well, there is a lot of failures. Some are due to tests needing to be upgraded 
following the change of driver version on cassci. But at least for the thrift 
tests (that are all failing), it's due to a genuine bug introduced by this 
patch. Thrift dtests are failing with the following stack:
{noformat}
        [...]
Caused by: org.apache.cassandra.exceptions.InvalidRequestException: Counters 
are not allowed inside collections: map<blob, counter>
        at 
org.apache.cassandra.cql3.CQL3Type$Raw$RawCollection.prepare(CQL3Type.java:469) 
~[main/:na]
        at 
org.apache.cassandra.schema.CQLTypeParser.parse(CQLTypeParser.java:55) 
~[main/:na]
        at 
org.apache.cassandra.schema.SchemaKeyspace.createColumnFromRow(SchemaKeyspace.java:1012)
 ~[main/:na]
        at 
org.apache.cassandra.schema.SchemaKeyspace.lambda$fetchColumns$245(SchemaKeyspace.java:996)
 ~[main/:na]
        at java.lang.Iterable.forEach(Iterable.java:75) ~[na:1.8.0_66]
        at 
org.apache.cassandra.schema.SchemaKeyspace.fetchColumns(SchemaKeyspace.java:996)
 ~[main/:na]
        at 
org.apache.cassandra.schema.SchemaKeyspace.fetchTable(SchemaKeyspace.java:950) 
~[main/:na]
        at 
org.apache.cassandra.schema.SchemaKeyspace.fetchTables(SchemaKeyspace.java:929) 
~[main/:na]
        at 
org.apache.cassandra.schema.SchemaKeyspace.fetchKeyspace(SchemaKeyspace.java:892)
 ~[main/:na]
        at 
org.apache.cassandra.schema.SchemaKeyspace.fetchKeyspacesOnly(SchemaKeyspace.java:884)
 ~[main/:na]
        at 
org.apache.cassandra.schema.SchemaKeyspace.mergeSchema(SchemaKeyspace.java:1274)
 ~[main/:na]
        at 
org.apache.cassandra.schema.SchemaKeyspace.mergeSchemaAndAnnounceVersion(SchemaKeyspace.java:1253)
 ~[main/:na]
        at 
org.apache.cassandra.service.MigrationManager$1.runMayThrow(MigrationManager.java:491)
 ~[main/:na]
        at 
org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) 
~[main/:na]
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
~[na:1.8.0_66]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
~[na:1.8.0_66]
{noformat}
The reason is that super columns uses maps internally, and we allow counters in 
super columns. We do indeed not allow counters in collections in CQL, but it's 
not a problem internally and we shouldn't throw in {{CQL3Type.Raw.prepare}} in 
that case anymore. Not entirely sure where to move that check however, so the 
simplest solution might be to use a {{prepareInternal}} version using by schema 
handling that disable this check.

> Store types by their CQL names in schema tables instead of fully-qualified 
> internal class names
> -----------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-10365
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-10365
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Aleksey Yeschenko
>            Assignee: Aleksey Yeschenko
>              Labels: client-impacting
>             Fix For: 3.0.0
>
>
> Consider saving CQL types names for column, UDF/UDA arguments and return 
> types, and UDT components.



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

Reply via email to