Skip to content

Stop using mmap in the store-gateway #3465

@pracucci

Description

@pracucci

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.Symbol lookup bug - ce19084
  • Add tests for encoding.Decbuf - 4f74ccb to 9a60b74

Nov 28

  • Add tests for indexheader.StreamBinaryReader - bda4548
  • Change encoding.Reader interface to return errors - 863cbe0, 31de2b3, bfe4819
  • Add tests for encoding.FileReader - 4e79107
  • Fix any remaining encoding.FileReader issues - 685926f
  • Add Seek() to encoding.Decbuf (use case 1, use case 2) - 90d25b5, d757b12
  • Create feature flag to control use of indexheader.StreamBinaryReader 15b7a58
  • Make indexheader.StreamBinaryReader goroutine safe (each instance of encoding.Decbuf needs a new reader) - fd66a99
  • Switch uses of encoding.BufReader to encoding.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+

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions