You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Ryan McGuire (JIRA)" <ji...@apache.org> on 2014/02/19 22:06:20 UTC

[jira] [Updated] (CASSANDRA-6740) Non-empty flush directory causes NPE on startup

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

Ryan McGuire updated CASSANDRA-6740:
------------------------------------

    Reproduced In: 2.1

> Non-empty flush directory causes NPE on startup
> -----------------------------------------------
>
>                 Key: CASSANDRA-6740
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-6740
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Ryan McGuire
>            Priority: Minor
>
> With the changes in CASSANDRA-6357, there is now the case where someone may want to start a fresh cluster on a machine that previously hosted one, clean out the directories they are familiar with (eg, data_file_directories, commitlog_directories) but fail to clean out the flush_directory. If they don't clean that out, they will see this in the logs:
> {code}
> INFO  [main] 2014-02-19 12:20:13,530 ColumnFamilyStore.java:281 - Initializing system.IndexInfo
> INFO  [main] 2014-02-19 12:20:13,534 ColumnFamilyStore.java:281 - Initializing system.peers
> INFO  [main] 2014-02-19 12:20:13,539 ColumnFamilyStore.java:281 - Initializing system.local
> ERROR [main] 2014-02-19 12:20:13,703 CassandraDaemon.java:458 - Exception encountered during startup
> java.lang.NullPointerException: null
>         at org.apache.cassandra.utils.ByteBufferUtil.string(ByteBufferUtil.java:167) ~[main/:na]
>         at org.apache.cassandra.serializers.AbstractTextSerializer.deserialize(AbstractTextSerializer.java:39) ~[main/:na]
>         at org.apache.cassandra.serializers.AbstractTextSerializer.deserialize(AbstractTextSerializer.java:26) ~[main/:na]
>         at org.apache.cassandra.db.marshal.AbstractType.compose(AbstractType.java:66) ~[main/:na]
>         at org.apache.cassandra.cql3.UntypedResultSet$Row.getString(UntypedResultSet.java:150) ~[main/:na]
>         at org.apache.cassandra.config.CFMetaData.fromSchemaNoTriggers(CFMetaData.java:1761) ~[main/:na]
>         at org.apache.cassandra.config.CFMetaData.fromSchema(CFMetaData.java:1883) ~[main/:na]
>         at org.apache.cassandra.config.KSMetaData.deserializeColumnFamilies(KSMetaData.java:320) ~[main/:na]
>         at org.apache.cassandra.config.KSMetaData.fromSchema(KSMetaData.java:301) ~[main/:na]
>         at org.apache.cassandra.db.DefsTables.loadFromKeyspace(DefsTables.java:131) ~[main/:na]
>         at org.apache.cassandra.config.DatabaseDescriptor.loadSchemas(DatabaseDescriptor.java:539) ~[main/:na]
>         at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:230) [main/:na]
>         at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:441) [main/:na]
>         at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:530) [main/:na]
> {code}
> I suggest a better warning message telling them it's due to the unclean flush dir, instead of an NPE.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)