Hello Jonathan,
El 08/06/2010, a las 19:15, Jonathan Ellis escribió:
> Sounds like you had some bad hardware take down your index files.
> (Cassandra fsyncs them after writing them and before renaming them to
> being live, so if it's missing pieces then it's always been hardware
> at fault that I have seen.
>
> You could try rebuilding your index files from the data files, but
> they may be toast, too.
>
> So: step 1, run bin/sstable2json to make sure your data files are actually
> okay.
>
> Step 2, rebuild your index files from your data files.
>
> I can never muster up the energy to make an index rebuilder in Java.
> So here's one in Python.
> [...]
I've only got to step 1, sstable2json raises this exception when run with the
two problematic data files:
Exception in thread "main" java.io.UTFDataFormatException: malformed input
around byte 48
at java.io.DataInputStream.readUTF(DataInputStream.java:617)
at java.io.RandomAccessFile.readUTF(RandomAccessFile.java:887)
at
org.apache.cassandra.io.SSTableReader.loadIndexFile(SSTableReader.java:261)
at org.apache.cassandra.io.SSTableReader.open(SSTableReader.java:125)
at org.apache.cassandra.io.SSTableReader.open(SSTableReader.java:114)
at
org.apache.cassandra.tools.SSTableExport.export(SSTableExport.java:304)
at
org.apache.cassandra.tools.SSTableExport.export(SSTableExport.java:329)
at org.apache.cassandra.tools.SSTableExport.main(SSTableExport.java:373)
I tried to run it with another data file and it outputs its contents without
problems, so I suppose that those data files are corrupted, and I should
recreate the whole data store...
Thanks
--
Lucas Di Pentima - Santa Fe, Argentina
Jabber: [email protected]
MSN: [email protected]