Tyler Hobbs created CASSANDRA-4269:
--------------------------------------

             Summary: Setting column metadata for non-string comparator CFs 
breaks
                 Key: CASSANDRA-4269
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4269
             Project: Cassandra
          Issue Type: Bug
          Components: Core
    Affects Versions: 1.1.0
            Reporter: Tyler Hobbs
            Priority: Trivial


For example, use a comparator of LongType and try to create an index on a 
column named 2 (0x0000000000000002).  You'll get a stracktrace in the logs 
similar to this:

{noformat}
java.lang.RuntimeException: java.nio.charset.MalformedInputException: Input 
length = 2
        at 
org.apache.cassandra.cql3.ColumnIdentifier.<init>(ColumnIdentifier.java:50)
        at org.apache.cassandra.cql3.CFDefinition.<init>(CFDefinition.java:115)
        at 
org.apache.cassandra.config.CFMetaData.updateCfDef(CFMetaData.java:1278)
        at 
org.apache.cassandra.config.CFMetaData.columnMetadata(CFMetaData.java:225)
        at 
org.apache.cassandra.config.CFMetaData.fromThrift(CFMetaData.java:636)
        at 
org.apache.cassandra.thrift.CassandraServer.system_update_column_family(CassandraServer.java:1061)
        at 
org.apache.cassandra.thrift.Cassandra$Processor$system_update_column_family.getResult(Cassandra.java:3436)
        at 
org.apache.cassandra.thrift.Cassandra$Processor$system_update_column_family.getResult(Cassandra.java:3424)
        at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:32)
        at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:34)
        at 
org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:186)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
Caused by: java.nio.charset.MalformedInputException: Input length = 2
        at java.nio.charset.CoderResult.throwException(CoderResult.java:260)
        at java.nio.charset.CharsetDecoder.decode(CharsetDecoder.java:781)
        at 
org.apache.cassandra.utils.ByteBufferUtil.string(ByteBufferUtil.java:163)
        at 
org.apache.cassandra.utils.ByteBufferUtil.string(ByteBufferUtil.java:120)
        at 
org.apache.cassandra.cql3.ColumnIdentifier.<init>(ColumnIdentifier.java:46)
        ... 13 more
{noformat}

This works in Cassandra 0.8 and 1.0.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to