Details
-
Improvement
-
Status: Review In Progress
-
Normal
-
Resolution: Unresolved
-
None
-
Performance
-
Normal
-
All
-
None
-
Description
Everytime nodetool listsnapshots is called, all data directories are scanned to find snapshots, what is inefficient.
For example, fetching the org.apache.cassandra.metrics:type=ColumnFamily,name=SnapshotsSize metric can take half a second (CASSANDRA-13338).
This improvement will also allow snapshots to be efficiently queried via virtual tables (CASSANDRA-18102).
In order to do this, we should:
a) load all snapshots from disk during initialization
b) keep a collection of snapshots on SnapshotManager
c) update the snapshots collection anytime a new snapshot is taken or cleared
d) detect when a snapshot is manually removed from disk.
Attachments
Issue Links
- incorporates
-
CASSANDRA-17588 "Total TrueDiskSpaceUsed" computation does not include manifest and schema files
- Resolved
- is related to
-
CASSANDRA-17588 "Total TrueDiskSpaceUsed" computation does not include manifest and schema files
- Resolved
-
CASSANDRA-13338 JMX: EstimatedPartitionCount / SnapshotSize are expensive
- Open
-
CASSANDRA-18102 Add a virtual table to list snapshots
- Resolved
-
CASSANDRASC-94 Reduce filesystem calls while streaming SSTables
- Resolved
-
CASSANDRA-19512 Add startup flag to load a local snapshot from disk
- Triage Needed
- relates to
-
CASSANDRA-18271 Centralize all snapshot operations to SnapshotManager
- Resolved
- links to