[ 
https://issues.apache.org/jira/browse/CASSANDRA-2984?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Aaron Morton updated CASSANDRA-2984:
------------------------------------

    Description: 
see http://www.mail-archive.com/[email protected]/msg15863.html

Running the create column family in the email works, but if the migration needs 
to be inflated (on restart or schema propagation) it fails with:

{code:java}
ERROR 21:41:26,876 Exception encountered during startup.
org.apache.cassandra.db.marshal.MarshalException: A long is exactly 8 bytes: 5
        at org.apache.cassandra.db.marshal.LongType.getString(LongType.java:72)
        at 
org.apache.cassandra.config.CFMetaData.getDefaultIndexName(CFMetaData.java:973)
        at org.apache.cassandra.config.CFMetaData.inflate(CFMetaData.java:381)
        at org.apache.cassandra.config.KSMetaData.inflate(KSMetaData.java:172)
        at org.apache.cassandra.db.DefsTable.loadFromStorage(DefsTable.java:99)
        at 
org.apache.cassandra.config.DatabaseDescriptor.loadSchemas(DatabaseDescriptor.java:486)
        at 
org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:166)
        at 
org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:342)
        at 
org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:91)
{code}

CFMetaData.inflate() is using the wrong comparator when creating the default 
index name, it should check for super CF. Also it does not check if a index was 
defined like addDefaultIndexNames() does. 
  

  was:
see http://www.mail-archive.com/[email protected]/msg15863.html

Running the create column family in the email works, but if the migration needs 
to be inflated (on restart or schema propagation) it fails with:

{code:java}
ERROR 21:41:26,876 Exception encountered during startup.
org.apache.cassandra.db.marshal.MarshalException: A long is exactly 8 bytes: 5
        at org.apache.cassandra.db.marshal.LongType.getString(LongType.java:72)
        at 
org.apache.cassandra.config.CFMetaData.getDefaultIndexName(CFMetaData.java:973)
        at org.apache.cassandra.config.CFMetaData.inflate(CFMetaData.java:381)
        at org.apache.cassandra.config.KSMetaData.inflate(KSMetaData.java:172)
        at org.apache.cassandra.db.DefsTable.loadFromStorage(DefsTable.java:99)
        at 
org.apache.cassandra.config.DatabaseDescriptor.loadSchemas(DatabaseDescriptor.java:486)
        at 
org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:166)
        at 
org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:342)
        at 
org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:91)
{code}

CFMetaData.inflate() does not check if a index was defined like 
addDefaultIndexNames() does. 

I this case the underlying problem is that the column meta data includes col 
names that are invalid.  


> column_metadata used with LongType comparator causes migration to fail 
> -----------------------------------------------------------------------
>
>                 Key: CASSANDRA-2984
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2984
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.8.2
>            Reporter: Aaron Morton
>            Priority: Minor
>
> see http://www.mail-archive.com/[email protected]/msg15863.html
> Running the create column family in the email works, but if the migration 
> needs to be inflated (on restart or schema propagation) it fails with:
> {code:java}
> ERROR 21:41:26,876 Exception encountered during startup.
> org.apache.cassandra.db.marshal.MarshalException: A long is exactly 8 bytes: 5
>       at org.apache.cassandra.db.marshal.LongType.getString(LongType.java:72)
>       at 
> org.apache.cassandra.config.CFMetaData.getDefaultIndexName(CFMetaData.java:973)
>       at org.apache.cassandra.config.CFMetaData.inflate(CFMetaData.java:381)
>       at org.apache.cassandra.config.KSMetaData.inflate(KSMetaData.java:172)
>       at org.apache.cassandra.db.DefsTable.loadFromStorage(DefsTable.java:99)
>       at 
> org.apache.cassandra.config.DatabaseDescriptor.loadSchemas(DatabaseDescriptor.java:486)
>       at 
> org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:166)
>       at 
> org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:342)
>       at 
> org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:91)
> {code}
> CFMetaData.inflate() is using the wrong comparator when creating the default 
> index name, it should check for super CF. Also it does not check if a index 
> was defined like addDefaultIndexNames() does. 
>   

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to