[ILM] Relocate hot objects across server pools by GET frequency - #60
Open
mrjavadseydi wants to merge 1 commit into
Open
[ILM] Relocate hot objects across server pools by GET frequency#60mrjavadseydi wants to merge 1 commit into
mrjavadseydi wants to merge 1 commit into
Conversation
Keep NVMe/HDD pool pairs useful without remote tiering: promote objects that are read often, demote previously moved objects once they go idle, and leave the feature off until operators set a two-pool topology. Signed-off-by: mr javad seydi <seydi.birjand@gmail.com>
mrjavadseydi
force-pushed
the
feat/access-based-ilm
branch
from
August 15, 2026 10:19
c4aec22 to
7a060ca
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Contribution Licensing (no CLA, inbound=outbound, DCO required)
This project does not use a CLA; contributions are accepted inbound=outbound.
By submitting this pull request I represent that I have the right to contribute
the changes, which are licensed under this repository's
GNU Affero General Public License v3.0 or later
and remain my copyright. Every commit must carry a DCO
Signed-off-bytrailer(
git commit -s) certifying theDeveloper Certificate of Origin — see
CONTRIBUTING.md.
Description
Access-frequency ILM that moves a full local version stack between server pools.
Successful GETs feed a best-effort rolling counter; the leader promotes to the
hottest configured pool and demotes previously moved objects once they go idle.
Motivation and Context
NVMe/HDD pool pairs currently only spread new writes by free space. This lets
operators keep hot objects on the fast pool without remote ILM transition.
How to test this PR?
go test ./internal/bucket/lifecycle/ ./internal/config/ilm/ ./cmd/ -count=1ilm access_tiering=on access_pools="0,1", PUT theAccessTransition XML via
docs/bucket/lifecycle/setup_ilm_access_tiering.sh,generate GETs, watch
/minio/metrics/v3/ilmandilm:access-tieraudit events.Compatibility impact
AccessTransition/AccessTierQuota(omitted on rewrite of old configs). Stock AWS SDKs may strip them.HotTierSize); v8 caches migrate in place.MINIO_ILM_ACCESS_*keys and/minio/metrics/v3/ilmaccess-tier series.access_tieringoff. v9 caches remain readable.Types of changes
Checklist:
git commit -s) per the DCOmake buildpass