Hey Alexander, Thanks for the patch. Now that Cassandra's moved into the Apache incubator, you should open an issue on the JIRA when you find a bug (I've done that for you at https://issues.apache.org/jira/browse/CASSANDRA-8), and you should communicate your problem in the comments on that issue, which will generate an email to the new developer's list, [email protected].
I didn't attach your patch to the issue, since there's a legal disclaimer required during patch submission that I can't make for you. If you have some time, could you attach the patch over at https://issues.apache.org/jira/browse/CASSANDRA-8? Thanks for the interest in Cassandra! Later, Jeff On Sat, Mar 21, 2009 at 11:04 AM, Alexander Staubo <[email protected]> wrote: > I was confused by the meaning of the "ColumnSort" attribute in the > config file, and typed something invalid. The result was the following > exception on compaction, when Cassandra starts up: > > java.lang.NullPointerException > at > org.apache.cassandra.config.DatabaseDescriptor.getTypeInfo(DatabaseDescriptor.java:729) > at > org.apache.cassandra.db.ColumnIndexer.serialize(ColumnIndexer.java:62) > at > org.apache.cassandra.db.CompactSerializerInvocationHandler.invoke(CompactSerializerInvocationHandler.java:50) > at $Proxy0.serialize(Unknown Source) > at > org.apache.cassandra.db.Memtable.flushForRandomPartitioner(Memtable.java:461) > at org.apache.cassandra.db.Memtable.flush(Memtable.java:440) > at org.apache.cassandra.db.Memtable.forceflush(Memtable.java:279) > at > org.apache.cassandra.db.ColumnFamilyStore.forceFlush(ColumnFamilyStore.java:409) > at org.apache.cassandra.db.Table.flush(Table.java:857) > at org.apache.cassandra.db.CommitLog.doRecovery(CommitLog.java:408) > at org.apache.cassandra.db.CommitLog.recover(CommitLog.java:317) > at > org.apache.cassandra.db.RecoveryManager.recoverEachTable(RecoveryManager.java:90) > at > org.apache.cassandra.db.RecoveryManager.doRecovery(RecoveryManager.java:77) > at org.apache.cassandra.db.DBManager.<init>(DBManager.java:112) > at org.apache.cassandra.db.DBManager.instance(DBManager.java:61) > at > org.apache.cassandra.service.StorageService.start(StorageService.java:465) > at > org.apache.cassandra.service.CassandraServer.start(CassandraServer.java:96) > at > org.apache.cassandra.service.CassandraServer.main(CassandraServer.java:1049) > > ...after which the commit logs were gone, and there were no .db files. > So my database went *poof*. > > The attached patch emits a warning if the ColumnSort attribute is > invalid, and uses the appropriate default of "Time" in that case. > > However, this fixes only one possible failure scenario for > compactions, but not the underlying problem that a failing compaction > hoses the database. In my opinion, failing compactions should never > result in the commit logs being deleted, regardless of the failure > cause. > > Alexander. > > --~--~---------~--~----~------------~-------~--~----~ > You received this message because you are subscribed to the Google Groups > "Cassandra Users" group. > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to > [email protected]<cassandra-user%[email protected]> > For more options, visit this group at > http://groups.google.com/group/cassandra-user?hl=en > -~----------~----~----~----~------~----~------~--~--- > >
