[
https://issues.apache.org/jira/browse/CASSANDRASC-94?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Francisco Guerrero updated CASSANDRASC-94:
------------------------------------------
Fix Version/s: 1.0
Source Control Link:
https://github.com/apache/cassandra-sidecar/commit/4a6b8c9cfe0c6286d12c7d561941a24c25a206ef
Resolution: Fixed
Status: Resolved (was: Ready to Commit)
> Reduce filesystem calls while streaming SSTables
> ------------------------------------------------
>
> Key: CASSANDRASC-94
> URL: https://issues.apache.org/jira/browse/CASSANDRASC-94
> Project: Sidecar for Apache Cassandra
> Issue Type: Improvement
> Components: Configuration
> Reporter: Francisco Guerrero
> Assignee: Francisco Guerrero
> Priority: Normal
> Labels: pull-request-available
> Fix For: 1.0
>
>
> When streaming snapshotted SSTables from Cassandra Sidecar, Sidecar will
> perform multiple filesystem calls:
> - Traverse the data directories to determine the keyspace / table path
> - Once found determine if the SSTable file exists under the snapshots
> directory
> - Read the filesystem to obtain the file type and file size
> - Read the requested range of the file and stream it
> The amount of filesystem calls is manageable for streaming a single SSTable,
> but when a client(s) read multiple SSTables, for example in the case of
> Cassandra Analytics bulk reads, hundred to thousand of requests are performed
> requiring every request to perform the above system calls.
> In this improvement, it is proposed introducing several two to reduce the
> amount of system calls while streaming SSTables:
> 1. *Cache all data file locations*: This is cached once and it will not
> change during the lifecycle of the application. The values come from the
> Storage Service MBean {{getAllDataFileLocations}} method.
> 2. *snapshot list cache*: to maintain a cache of recently listed snapshot
> files under a snapshot directory. This cache avoids having to access the
> filesystem every time a bulk read client list the snapshot directory. This is
> a short lived cache and can be disabled if the snapshot list is expected to
> be large.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]