-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Store Gateway: Index header disk space management #7029
Comments
@yeya24 I think we can plug into the idle timeout for unloading lazy index readers. After the mmap gets removed, we would also remove the downloaded file. Other options:
|
Ah, I just noticed we already have a PR for my first alternative option: #7118. WDYT? |
Yeah I think #7118 is a good start. But that PR would delete index headers as long as they are not accessed for idle timeout. I hope we can also check if the index header is eager downloadable or lazy downloadable and we don't clean up those blocks that are eagerly downloadable to ensure latency.
LRU is just an eviction policy. Size is what we use to trigger the LRU based eviction so it will be a combination of both. It can be a complex strategy and we can start small. |
Is your proposal related to a problem?
#6984 adds support for lazy downloaded index headers. It can be useful if only some blocks are accessed more often than other blocks. For example, data from recent one month are usually accessed more often than data older than one year. With lazy downloaded index header feature, we can speed up store gateway start up time and index header disk space usage because we download less index headers.
However, there is no way to clean up index headers on local disk if they are not accessed anymore. If an index header file is downloaded and accessed only once, it remain on the disk forever. We only do mmap unload but there is no local data retention.
Describe the solution you'd like
We can start with option 1 and add size based strategy later.
Describe alternatives you've considered
NA
The text was updated successfully, but these errors were encountered: