We are refactoring the snapshotting subsystem (CASSANDRA-18111) by consolidating all snapshot logic in Cassandra code into a dedicated SnapshotManager class where everything is centralized and dandy.
The current state of snapshotting code is that over the years it became scattered all over the place, hard to get the whole picture, hard to maintain ... probable / possible concurrency issues etc. By doing 18111 we will also save some disk IO. While doing so, we are indeed keeping everything functionally-wise as it was before etc. but we think that the introduction of a dedicated SnapshotManagerMBean (like this (1)) would be a good idea. We would keep stuff in StorageServiceMBean / CFS there, it would just call SnapshotManager methods and we would deprecate StorageServiceMBean methods. Since the introduction of SnapshotManagerMBean introduces a public-facing API, I want to run this through ML to increase the awareness and get approval for doing so. Does this make sense to people? Regards (1) https://github.com/pauloricardomg/cassandra/blob/CASSANDRA-18111-review-2/src/java/org/apache/cassandra/service/snapshot/SnapshotManagerMBean.java