cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexandre Dutra (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-10365) Consider storing types by their CQL names in schema tables instead of fully-qualified internal class names
Date Thu, 29 Oct 2015 12:44:27 GMT


Alexandre Dutra commented on CASSANDRA-10365:

[~snazy] While testing the Java driver against your branch I came across this bug, also reproducible
via cqlsh:

cqlsh> create keyspace test with replication = { 'class' : 'SimpleStrategy', 'replication_factor'
: 1 };
cqlsh> use test;
cqlsh:test> create type "Foo" (f1 int);
cqlsh:test> describe type "Foo";

CREATE TYPE test."Foo" (
    f1 'int'

cqlsh:test> create table t1 (pk int primary key, c1 frozen<"Foo">);
ServerError: <ErrorMessage code=0000 [Server error] message="java.lang.RuntimeException:
java.util.concurrent.ExecutionException: org.apache.cassandra.exceptions.InvalidRequestException:
Unknown type">

It seems that mixed-case identifiers are being lower-cased somewhere.

The server logs show:

Caused by: org.apache.cassandra.exceptions.InvalidRequestException: Unknown type
        at org.apache.cassandra.cql3.CQL3Type$Raw$RawUT.prepare( ~[main/:na]
        at org.apache.cassandra.cql3.CQL3Type$Raw$RawTuple.prepare( ~[main/:na]
        at org.apache.cassandra.schema.CQLTypeParser.parse( ~[main/:na]
        at org.apache.cassandra.schema.SchemaKeyspace.createColumnFromColumnRow(
        at org.apache.cassandra.schema.SchemaKeyspace.lambda$fetchColumns$242(
        at java.lang.Iterable.forEach( ~[na:1.8.0_66]
        at org.apache.cassandra.schema.SchemaKeyspace.fetchColumns(
        at org.apache.cassandra.schema.SchemaKeyspace.fetchTable(
        at org.apache.cassandra.schema.SchemaKeyspace.fetchTables(
        at org.apache.cassandra.schema.SchemaKeyspace.fetchKeyspace(
        at org.apache.cassandra.schema.SchemaKeyspace.fetchKeyspacesOnly(
        at org.apache.cassandra.schema.SchemaKeyspace.mergeSchema(
        at org.apache.cassandra.schema.SchemaKeyspace.mergeSchemaAndAnnounceVersion(

> Consider storing types by their CQL names in schema tables instead of fully-qualified
internal class names
> ----------------------------------------------------------------------------------------------------------
>                 Key: CASSANDRA-10365
>                 URL:
>             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

This message was sent by Atlassian JIRA

View raw message