Use snapshots or borrow from simplegeo.com https://github.com/simplegeo/tablesnap

If you grab the directory at an arbitrary time there is no guarantee the data will be consistent.

Cheers

-----------------
Aaron Morton
Freelance Cassandra Developer
@aaronmorton

On 6 May 2011, at 08:06, Wenjun Che wrote:

Sylvain, thanks for the quick response, and you are correct: there is an empty index file.  I removed the file and tried to start it up.  Now Cassandra is reporting corrupt sstables.  Does this mean I can't just simply back up var/lib directory (use snapshots instead) ? We don't have much data right now so I thought it'd be easier to back up the entire directory.

Thanks

On Thu, May 5, 2011 at 2:56 PM, Sylvain Lebresne <sylvain@datastax.com> wrote:
On Thu, May 5, 2011 at 8:38 PM, Wenjun Che <wenjun@openf.in> wrote:
> Hello,
>
> I have a one node cluster (refresh install from 0.7.4 and upgraded to 0.7.5
> last week).  The data is being backed up by  a cron job that periodically
> tar/gzip entire
> var/lib directory.  when I tested the backup by restoring the last tar file,
> I am seeing the following exception:
>
> DEBUG 13:45:37,830 Load statistics for
> \var\lib\cassandra\data\Appoji\ApplicationUserPermission-f-6
> ERROR 13:45:37,832 Exception encountered during startup.
> java.lang.AssertionError
>         at
> org.apache.cassandra.io.sstable.SSTable.estimateRowsFromIndex(SSTable.java:233)
>         at
> org.apache.cassandra.io.sstable.SSTableReader.load(SSTableReader.java:286)
>         at
> org.apache.cassandra.io.sstable.SSTableReader.open(SSTableReader.java:191)
>         at
> org.apache.cassandra.db.ColumnFamilyStore.<init>(ColumnFamilyStore.java:232)
>         at
> org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:
> 480)
>         at
> org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:
> 461)
>         at org.apache.cassandra.db.Table.initCf(Table.java:308)
>         at org.apache.cassandra.db.Table.<init>(Table.java:245)
>         at org.apache.cassandra.db.Table.open(Table.java:106)
>         at
> org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:1
> 61)
>         at
> org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.jav
> a:315)
>         at
> org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:79)
> Exception encountered during startup.
>
> I checked few other earlier backup tar files and they seem to be fine.  Can
> this be caused by the way I am backing  it up?

I think that could be triggered if you have a 0 bytes index file for
instance, so if you had one such
index file in the backup, that could be a problem.

--
Sylvain