[
https://issues.apache.org/jira/browse/CASSANDRA-18111?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17856088#comment-17856088
]
Paulo Motta edited comment on CASSANDRA-18111 at 6/19/24 12:49 AM:
-------------------------------------------------------------------
I was thinking that since this is just a cache, perhaps we could have a
{{snapshot_metadata_cache_size: 100MiB}} setting so the amount of memory used
for snapshot metadata would be capped while providing the optimization by
default ? Users wishing to disable could just set
{{snapshot_metadata_cache_size: 0MiB}}.
It would be nice to validate how much this improves select * from
system_views.snapshots performance for large snapshot * keyspace * table *
sstable counts.
was (Author: paulo):
I was thinking that since this is just a cache, perhaps we could have a
{{snapshot_metadata_cache_size: 100MiB }}setting so the amount of memory used
for snapshot metadata would be capped while providing the optimization by
default ? Users wishing to disable could just set
{{{}snapshot_metadata_cache_size: 0MiB{}}}.
It would be nice to validate how much this improves select * from
system_views.snapshots performance for large snapshot * keyspace * table *
sstable counts.
> 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: [email protected]
For additional commands, e-mail: [email protected]