Hi everyone,

Just a heads up to the community that we're wrapping up the Google Summer
of Code project this year.

Abi Palagashvili worked with us in the last couple of months to provide TTL
support to nodetool snapshots on CASSANDRA-16789 <
https://issues.apache.org/jira/browse/CASSANDRA-16789>, under mine and
Stefan Miklosovic's mentorship. We're in the final round of review before
merging the feature and welcome anyone who wants to take a look in the
final patch and give feedback.

After this change is shipped in the next major release, clients can supply
an optional --ttl parameter during nodetool snapshot creation and Cassandra
will automatically clean up expired snapshots, avoiding the need for
external management of snapshot cleanup.

During the process of adding this feature we identified several improvement
areas and started an effort to modernize the snapshot module by
centralizing snapshot lifecycle management on a SnapshotManager class,
which is responsible for keeping track of active snapshots in memory and
periodically cleaning them up when they expire. Right now we're only
managing "expiring" snapshots in this class, but we plan to migrate the
legacy snapshot lifecycle management to this class in follow-up tickets to
decouple it from the keyspace and table management classes. We
significantly increased the test coverage of the snapshot lifecycle and
added in-jvm tests to verify the feature.

We plan to extend this feature before it's released on 4.1 by providing
support to pause/resume snapshot cleanup and also allow clients to supply
TTL to auto snapshots (those optionally created during truncation, table
drop or compaction), as well as integrate it with the ability of clearing
snapshots created since a specific date <
https://issues.apache.org/jira/browse/CASSANDRA-16860>. The parent task to
track future improvements in this area is CASSANDRA-16451 <
https://issues.apache.org/jira/browse/CASSANDRA-16451>.

We thank Abi very much for his effort during the project and hope he stays
around in the community!

Kind Regards,

Paulo

Reply via email to