Make Persister
Download Snapshot Files from Object Store Concurrently or in Parallel
#24604
Labels
Persister
Download Snapshot Files from Object Store Concurrently or in Parallel
#24604
See #24604 (comment) below
In #24588 I had created the initial implementation of the persister to read and write Segment Info Files, the Catalog, and Parquet data to the Object Store. However, one flaw is that we download the Segment Info Files one at a time as seen here:
influxdb/influxdb3_write/src/persister.rs
Lines 187 to 190 in 001a2a6
If the network is slow this could really slow down any time we need to acquire the segment data.
In the PR I had tried to make it concurrent and while the code in theory should have been successful this was thwarted by the lifetimes created with the
#[async_trait]
proc macro. Getting it to use Rayon'spar_iter()
method also did not work. While async fn in traits is now stable it has it's own issues as well that were hard to untangle with the codebase at this time.This is a known bottleneck currently and so to make sure we keep track of it I've opened up this issue to keep track of it and to keep track of any progress made addressing it.
The text was updated successfully, but these errors were encountered: