Translog Optimisation: Upload .ckp file data as object metadata of .tlog file #13022
Labels
enhancement
Enhancement or improvement to existing feature or request
Storage:Performance
v2.15.0
Issues and PRs related to version 2.15.0
Is your feature request related to a problem? Please describe
In the current implementation of remote translog store, for every translog generation we upload translog checkpoint(.ckp) file, translog(.tlog) file and translog_metadata file to remote store.
For each specified buffer interval we upload two file translog-.tlog and translog-.ckp parallely. After the successful upload of these two files. We prepare and further upload the latest metadata file. In total we try to upload 3 files to remote store per transfer for each shard. This increase the request count and rate during upload and download flows like sync translog, failover, peer recovery. This contributes to higher TPS load to remote store.
Describe the solution you'd like
We can store checkpoint file information as object metadata of tlog file blob upload to remote store. Multiple repository providers like S3, Azure, and GCP provide object metadata with a size limit. Given that checkpoint file size remains under this size limit we can store ckp file with tlog file blob object metadata. With this approach we’ll reduce the number of request calls to remote store by 33%.
Related component
Storage:Performance
Describe alternatives you've considered
No response
Additional context
No response
The text was updated successfully, but these errors were encountered: