-
Notifications
You must be signed in to change notification settings - Fork 709
Closed
Description
We want to get rid of mmap usage in the store-gateway, in order to definitely solve the problem of disk I/O hanging the process (see this and this for reference). This issue tracks the work to stop using mmap in the store-gateway.
Timeline
All dates subject to change, no refunds 😛
Nov 21
- Take ownership of the code and initial cleanup.
- Fix v1
index.Symbollookup bug - ce19084 - Add tests for
encoding.Decbuf- 4f74ccb to 9a60b74
Nov 28
- Add tests for
indexheader.StreamBinaryReader- bda4548 - Change
encoding.Readerinterface to return errors - 863cbe0, 31de2b3, bfe4819 - Add tests for
encoding.FileReader- 4e79107 - Fix any remaining
encoding.FileReaderissues - 685926f - Add
Seek()toencoding.Decbuf(use case 1, use case 2) - 90d25b5, d757b12 - Create feature flag to control use of
indexheader.StreamBinaryReader15b7a58 - Make
indexheader.StreamBinaryReadergoroutine safe (each instance ofencoding.Decbufneeds a new reader) - fd66a99 - Switch uses of
encoding.BufReadertoencoding.FileReader - Stream data from disk when computing CRC32 checksums rather than reading the entire segment into memory - dc46d17
- store-gateway integration test to use
indexheader.StreamBinaryReader- 8bb4fdf - Cleanup of dead code, error handling, lints.
Dec 5+
- Merge to main behind feature flag. Add alternate implementation of index-header reader that does not use mmap #3639
- Performance optimization (iterative).
- Pooling of file handles - Pool file handles used by StreamBinaryReader components #3703
- Make pooling of
bufio.Readernot specific to each index-header - Store gateway mmap removal: use a shared pool of buffers across all Decbuf instances #3691 -
ApplyNot possible with mmap-less implementation[]stringoptimization toreadOffsetTablelink 1 link 2
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels