Skip to content

Conversation

fulmicoton
Copy link
Collaborator

Instead of chained list of 128mb files, we
pre-allocate a file, and split it into pages.

A header in the file stores the order in which the pages should be read.

On the write side, when we truncate queues, we often end up freeing pages. When all pages are in use, we perform a GC. It simply reorders pages, and updates the file header accordingly.

Instead of chained list of 128mb files, we
pre-allocate a file, and split it into pages.

A header in the file stores the order in which the pages
should be read.

On the write side, when we truncate queues, we often end up
freeing pages. When all pages are in use, we perform a GC.
It simply reorders pages, and updates the file header accordingly.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants