Netflix/Priam — pull request #69 by aryanet (2012-09-15 02:02:20+00:00)
Title: Added ColumnFamily name to backup path

My previous commit which fixed the lookup of SSTable files on 1.1.x filesystem
for backup did not take into account the fact that directory higherarchy now
includes the column families in 1.1.x and for backup and restore to be able to
work properly we should include the ColumnFamily name in the path. This patch
addresses that issue.

Backups made to S3 using the master branch so far aren't restorable to correct
location. I recommend changing backups prefix after upgrade to this patch so
that your new backup location includes the correct directory structure.

This patch also enable future development possibilities to add restoration of
a specific column family only. I didn't have time to implement that yet, but I
will be glad to add the feature once time allows.

Main things changed in this patch:

- S3BackupPath and AbstractBackupPath now include the CF name;
- AbstractRestore is changed to respect the CF name addition;
- All instances of Unit Tests updated to have CF names in the paths;

Secondary Changes:
- Tests were not passing for me because the configured Cassandra start/stop
script in FakeConfiguration was something junk that didn't exist and
SystemUtils would get ArrayOutOfBound because of it. I changed them to
return program "yes" which should be exist on all nix systems. This made
the steps in TestRestore that stops/starts fake cassandra to fall through.
- Updated Cassandra source dependency to 1.1.5