Apache Cassandra 1.1 Documentation

Commit Log Archive Configuration

This document corresponds to an earlier product version. Make sure you are using the version that corresponds to your version.

Latest Cassandra documentation | Earlier Cassandra documentation

Cassandra provides commitlog archiving and point-in-time recovery starting with version 1.1.1. You configure this feature in the commitlog_archiving.properties configuration file, which is located in the following directories:

  • Cassandra packaged installs: /etc/cassandra/conf
  • Cassandra binary installs: <install_location>/conf
  • DataStax Enterprise packaged installs: /etc/dse/cassandra
  • DataStax Enterprise binary installs: <install_location>/resources/cassandra/conf


The commands archive_command and restore_command expect only a single command with arguments. STDOUT and STDIN or multiple commands cannot be executed. The parameters must be entered verbatim. To workaround, you can script multiple commands and add a pointer to this file. To disable a command, leave it blank.

Archive a Segment

Archive a particular commitlog segment.

Command archive_command=
Parameters %path Fully qualified path of the segment to archive.
%name Name of the commit log.
Example archive_command=/bin/ln %path /backup/%name

Restore an Archived Commitlog

Make an archived commitlog live again.

Command restore_command=
Parameters %from Fully qualified path of the an archived commitlog segment from the <restore_directories>.
%to Name of live commit log directory.
Example restore_command=cp -f %from %to

Restore Directory Location

Set the directory for the recovery files are placed.

Command restore_directories=
Format restore_directories=<restore_directory location>

Restore Mutations

Restore mutations created up to and including the specified timestamp.

Command restore_point_in_time=
Format <timestamp> (YYYY:MM:DD HH:MM:SS)
Example restore_point_in_time=2012:08:16 20:43:12


Restore stops when the first client-supplied timestamp is greater than the restore point timestamp. Because the order in which Cassandra receives mutations does not strictly follow the timestamp order, this can leave some mutations unrecovered.