ILM Scenario 1 - allanrogerr/public GitHub Wiki
Setup
sudo timedatectl set-ntp no
sudo timedatectl set-time 2025-02-14
date
mc rb --force local0/scenario1
mc mb local0/scenario1
mc version enable local0/scenario1
mc anonymous set public local0/scenario1
curl -X PUT https://127.0.0.1:9000/scenario1/v -d "test" -H "X-Minio-Source-Mtime: 2025-02-14T00:00:00-00:00" -k
curl -X PUT https://127.0.0.1:9000/scenario1/v -d "test" -H "X-Minio-Source-Mtime: 2025-02-14T00:00:00-00:00" -k
curl -X PUT https://127.0.0.1:9000/scenario1/v -d "test" -H "X-Minio-Source-Mtime: 2025-02-14T00:00:00-00:00" -k
curl -X PUT https://127.0.0.1:9000/scenario1/v -d "test" -H "X-Minio-Source-Mtime: 2025-02-14T00:00:00-00:00" -k
curl -X PUT https://127.0.0.1:9000/scenario1/v -d "test" -H "X-Minio-Source-Mtime: 2025-02-14T00:00:00-00:00" -k
curl -X PUT https://127.0.0.1:9000/scenario1/v -d "test" -H "X-Minio-Source-Mtime: 2025-02-14T00:00:00-00:00" -k
curl -X PUT https://127.0.0.1:9000/scenario1/v -d "test" -H "X-Minio-Source-Mtime: 2025-02-14T00:00:00-00:00" -k
curl -X PUT https://127.0.0.1:9000/scenario1/v -d "test" -H "X-Minio-Source-Mtime: 2025-02-14T00:00:00-00:00" -k
mc ls --versions local0/scenario1
[2025-02-14 00:00:00 UTC] 4B STANDARD c4ca84a3-f0d3-4ffc-a811-31e3f04b0826 v8 PUT v
[2025-02-14 00:00:00 UTC] 4B STANDARD bbc70eaa-5237-49a6-9f22-5c47b27d406e v7 PUT v
[2025-02-14 00:00:00 UTC] 4B STANDARD 85764e1c-0f12-4419-af8c-283719229f8b v6 PUT v
[2025-02-14 00:00:00 UTC] 4B STANDARD 7c849884-1c8c-43e0-ab38-6a5073575392 v5 PUT v
[2025-02-14 00:00:00 UTC] 4B STANDARD 8bf0bc32-e5b9-4b57-af41-f47cbbdf7b01 v4 PUT v
[2025-02-14 00:00:00 UTC] 4B STANDARD bd257cae-87be-4e8b-a2eb-810cea4f5689 v3 PUT v
[2025-02-14 00:00:00 UTC] 4B STANDARD 4007f575-f06b-4ccc-886f-71d7849f78c6 v2 PUT v
[2025-02-14 00:00:00 UTC] 4B STANDARD 09820ed0-3865-4df4-a549-7c95391b3740 v1 PUT v
mc ilm rule ls local0/scenario1
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Expiration for latest version (Expiration) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโฌโโโโโโโฌโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโค
โ ID โ STATUS โ PREFIX โ TAGS โ DAYS TO EXPIRE โ EXPIRE DELETEMARKER โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโผโโโโโโโผโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโค
โ - the only NoncurrentVersionExpiration rule obeyed preserving โ Enabled โ - โ - โ 1 โ false โ
โ newest 3 noncurrent versions after 2 days have passed โ โ โ โ โ โ
โ - expires the latest version after 1 day โ โ โ โ โ โ
โ โ โ โ โ โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโดโโโโโโโดโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Expiration for older versions (NoncurrentVersionExpiration) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโฌโโโโโโโฌโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโค
โ ID โ STATUS โ PREFIX โ TAGS โ DAYS TO EXPIRE โ KEEP VERSIONS โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโผโโโโโโโผโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโค
โ - the only NoncurrentVersionExpiration rule obeyed preserving โ Enabled โ - โ - โ 2 โ 3 โ
โ newest 3 noncurrent versions after 2 days have passed โ โ โ โ โ โ
โ - expires the latest version after 1 day โ โ โ โ โ โ
โ โ โ โ โ โ โ
โ - immediately preserves the newest 4 noncurrent versions, โ Enabled โ - โ - โ 0 โ 4 โ
โ however it is ignored since not the first rule with NewerNoncurrentVersions โ โ โ โ โ โ
โ โ โ โ โ โ โ
โ - delete all non current versions after 4 days โ Enabled โ - โ - โ 4 โ 0 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโดโโโโโโโดโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโ
Observe NO trace
Move 1 day UTC into the future.
sudo timedatectl set-ntp no
sudo timedatectl set-time 2025-02-16
Observe ILM trace
2025-02-16T00:00:14.639 [ILM] ilm:expiry 127.0.0.1:9000 scenario1/v 3.007016ms 4 B
mc ls --versions local0/scenario1
[2025-02-16 00:00:14 UTC] 0B STANDARD 1ae7aae1-27ea-492c-bcbe-36de15188377 v9 DEL v
[2025-02-14 00:00:00 UTC] 4B STANDARD c4ca84a3-f0d3-4ffc-a811-31e3f04b0826 v8 PUT v
[2025-02-14 00:00:00 UTC] 4B STANDARD bbc70eaa-5237-49a6-9f22-5c47b27d406e v7 PUT v
[2025-02-14 00:00:00 UTC] 4B STANDARD 85764e1c-0f12-4419-af8c-283719229f8b v6 PUT v
[2025-02-14 00:00:00 UTC] 4B STANDARD 7c849884-1c8c-43e0-ab38-6a5073575392 v5 PUT v
[2025-02-14 00:00:00 UTC] 4B STANDARD 8bf0bc32-e5b9-4b57-af41-f47cbbdf7b01 v4 PUT v
[2025-02-14 00:00:00 UTC] 4B STANDARD bd257cae-87be-4e8b-a2eb-810cea4f5689 v3 PUT v
[2025-02-14 00:00:00 UTC] 4B STANDARD 4007f575-f06b-4ccc-886f-71d7849f78c6 v2 PUT v
[2025-02-14 00:00:00 UTC] 4B STANDARD 09820ed0-3865-4df4-a549-7c95391b3740 v1 PUT v
Move 1 day UTC into the future.
sudo timedatectl set-ntp no
sudo timedatectl set-time 2025-02-17
Observe ILM trace
2025-02-17T00:04:51.746 [ILM] ilm:expiry 127.0.0.1:9000 scenario1/v 26.962ยตs
2025-02-17T00:04:51.746 [ILM] ilm:expiry 127.0.0.1:9000 scenario1/v 1.174ยตs
2025-02-17T00:04:51.746 [ILM] ilm:expiry 127.0.0.1:9000 scenario1/v 1.668ยตs
2025-02-17T00:04:51.746 [ILM] ilm:expiry 127.0.0.1:9000 scenario1/v 932ns
2025-02-17T00:04:51.746 [ILM] ilm:expiry 127.0.0.1:9000 scenario1/v 758ns
mc ls --versions local0/scenario1
[2025-02-16 00:00:14 UTC] 0B STANDARD 1ae7aae1-27ea-492c-bcbe-36de15188377 v4 DEL v
[2025-02-14 00:00:00 UTC] 4B STANDARD c4ca84a3-f0d3-4ffc-a811-31e3f04b0826 v3 PUT v
[2025-02-14 00:00:00 UTC] 4B STANDARD bbc70eaa-5237-49a6-9f22-5c47b27d406e v2 PUT v
[2025-02-14 00:00:00 UTC] 4B STANDARD 85764e1c-0f12-4419-af8c-283719229f8b v1 PUT v
Move 1 day UTC into the future.
sudo timedatectl set-ntp no
sudo timedatectl set-time 2025-02-18
Observe NO trace
Move 1 day UTC into the future.
sudo timedatectl set-ntp no
sudo timedatectl set-time 2025-02-19
Observe ILM trace
2025-02-19T00:08:45.082 [ILM] ilm:expiry 127.0.0.1:9000 scenario1/v 3.013634ms 4 B
2025-02-19T00:08:45.085 [ILM] ilm:expiry 127.0.0.1:9000 scenario1/v 2.422437ms 4 B
mc ls --versions local0/scenario1
[2025-02-16 00:00:14 UTC] 0B STANDARD 1ae7aae1-27ea-492c-bcbe-36de15188377 v2 DEL v
[2025-02-14 00:00:00 UTC] 4B STANDARD c4ca84a3-f0d3-4ffc-a811-31e3f04b0826 v1 PUT v