[ https://issues.apache.org/jira/browse/CASSANDRA-18111?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17855958#comment-17855958 ]
Stefan Miklosovic edited comment on CASSANDRA-18111 at 6/18/24 2:40 PM: ------------------------------------------------------------------------ I forgot to add that another solution would be to load all the sizes on the very first loading - upon node's start. Plus every snapshot taken after that would pre-compute the sizes too. This approach is also quite desirable because if there is e.g. a jmx method to "restart SnapshotManager" which would reload all the snapshots, then all these sizes would be pre-computed again. Hence if somebody just removes some data from a snapshot accidentally (or not), all it takes to have "the right sizes" again would be to reload it all. was (Author: smiklosovic): I forgot to add that another solution would be to load all the sizes on the very first loading - upon node's start. Plus every snapshot taken after that would pre-compute the sizes too. > Cache snapshots in memory > ------------------------- > > Key: CASSANDRA-18111 > URL: https://issues.apache.org/jira/browse/CASSANDRA-18111 > Project: Cassandra > Issue Type: Improvement > Components: Local/Snapshots > Reporter: Paulo Motta > Assignee: Stefan Miklosovic > Priority: Normal > Fix For: 5.x > > Time Spent: 1h 10m > Remaining Estimate: 0h > > 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. -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org