Well, my next suggestion was going to be to gzip the offending commitlog and upload it to jira, so I hope it's reproducible. :)
On Sat, Aug 22, 2009 at 3:00 PM, Anthony Molinaro<[email protected]> wrote: > No, I completely removed the data directory (in fact moved it from > /var/cassandra to /var/lib/cassandra, and rm -rf the old directory). > Then loaded up the data, and stopped and started cassandra (stopping > was done by killing the pid of the process (using the killproc shell > function on RHEL, which appears to do a kill -TERM then a kill -KILL > if things are taking too long (usleep 100000, which isn't actually > that long, so maybe cassandra does something when it gets a TERM > signal that was interrupted by a KILL signal?). > > I tarred up the data and logs, nuked the directory again and will see > if it's reproduciable. > > -Anthony > > On Sat, Aug 22, 2009 at 06:07:03AM -0700, Jonathan Ellis wrote: >> no, that should be recent enough. >> >> Was this cl written by the 0.3 install prior to the upgrade? >> >> On 8/21/09, Anthony Molinaro <[email protected]> wrote: >> > Maybe not, I'm using trunk (or at least trunk as of yesterday afternoon), >> > was it fixed today by chance? >> > >> > -Anthony >> > >> > On Fri, Aug 21, 2009 at 10:28:16PM -0700, Jonathan Ellis wrote: >> >> that looks like a log replay bug we had in beta one but is fixed in >> >> current trunk. >> >> >> >> On 8/21/09, Anthony Molinaro <[email protected]> wrote: >> >> > Hi, >> >> > >> >> > I'm trying to make the transition from 0.3.0 to 0.4.0. I recreated >> >> > all my packages, rejiggered my load scripts to load up data, and loaded >> >> > up the data. I then needed to modify the java arguments to include a >> >> > -Djava.rmi.server.hostname parameter so I could attach a jconsole to >> >> > it. So I restarted and got this exception >> >> > >> >> > java.lang.RuntimeException: Unable to load comparator class >> >> > 'org.apache.cassandra.db.marshal.UT'. probably this means you have >> >> > obsolete >> >> > sstables lying around >> >> > at >> >> > org.apache.cassandra.db.ColumnFamilySerializer.readComparator(ColumnFamilySerializer.java:108) >> >> > at >> >> > org.apache.cassandra.db.ColumnFamilySerializer.deserialize(ColumnFamilySerializer.java:83) >> >> > at >> >> > org.apache.cassandra.db.RowSerializer.deserialize(Row.java:225) >> >> > at org.apache.cassandra.db.CommitLog.recover(CommitLog.java:326) >> >> > at >> >> > org.apache.cassandra.db.RecoveryManager.doRecovery(RecoveryManager.java:58) >> >> > at >> >> > org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:90) >> >> > at >> >> > org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:166) >> >> > Caused by: java.lang.ClassNotFoundException: >> >> > org/apache/cassandra/db/marshal/UT >> >> > at java.lang.Class.forName0(Native Method) >> >> > at java.lang.Class.forName(Class.java:169) >> >> > at >> >> > org.apache.cassandra.db.ColumnFamilySerializer.readComparator(ColumnFamilySerializer.java:104) >> >> > ... 6 more >> >> > >> >> > The odd thing is the name of that comparator class. Above it seems to >> >> > be clipped and viewing the log in vim I see several '^@' characters >> >> > after the UT and before the ' which I believe are nulls. I'd say >> >> > it was memory corruption if this was C or C++, not sure what to say >> >> > about this in java. >> >> > >> >> > I'm using trunk, any ideas? >> >> > >> >> > -Anthony >> >> > >> >> > -- >> >> > ------------------------------------------------------------------------ >> >> > Anthony Molinaro <[email protected]> >> >> > >> > >> > -- >> > ------------------------------------------------------------------------ >> > Anthony Molinaro <[email protected]> >> > > > -- > ------------------------------------------------------------------------ > Anthony Molinaro <[email protected]> >
