[
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