[PR #730] [CLOSED] [Bugfix] GetReplicaList does not grant a lease when GC is enabled #1776

Closed
opened 2026-10-29 21:30:15 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/kvcache-ai/Mooncake/pull/730
Author: @vladnosiv
Created: 8/8/2025
Status: ❌ Closed

Base: main ← Head: fix-gc-on-get-replica-list


📝 Commits (2)

  • 0357475 get does not grant a lease when gc is enabled
  • 97cbb22 fix test

📊 Changes

2 files changed (+14 additions, -13 deletions)

View changed files

📝 mooncake-store/src/master_service.cpp (+3 -9)
📝 mooncake-store/tests/master_service_test.cpp (+11 -4)

📄 Description

Documentation quote:

To avoid data conflicts, a per-object lease will be granted whenever an ExistKey request or a GetReplicaListRequest request succeeds. An object is guaranteed to be protected from Remove request, RemoveAll request and Eviction task until its lease expires. The default lease TTL is 5 seconds and is configurable via a startup parameter of master_service.

Observed behavior:

  • PutEnd sets lease=0 (is this expected?). With GC enabled, GetReplicaList marks the object for GC instead of granting a lease
  • Example: after PUT, the object can exist indefinitely; the first GET immediately schedules it for deletion and it disappears, instead of receiving a lease as the docs specify

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/kvcache-ai/Mooncake/pull/730 **Author:** [@vladnosiv](https://github.com/vladnosiv) **Created:** 8/8/2025 **Status:** ❌ Closed **Base:** `main` ← **Head:** `fix-gc-on-get-replica-list` --- ### 📝 Commits (2) - [`0357475`](https://github.com/kvcache-ai/Mooncake/commit/03574758efbb117f2be007a15c59c6e6d023c362) get does not grant a lease when gc is enabled - [`97cbb22`](https://github.com/kvcache-ai/Mooncake/commit/97cbb226031f980222689f0b62c4cc0346c380c9) fix test ### 📊 Changes **2 files changed** (+14 additions, -13 deletions) <details> <summary>View changed files</summary> 📝 `mooncake-store/src/master_service.cpp` (+3 -9) 📝 `mooncake-store/tests/master_service_test.cpp` (+11 -4) </details> ### 📄 Description Documentation quote: ``` To avoid data conflicts, a per-object lease will be granted whenever an ExistKey request or a GetReplicaListRequest request succeeds. An object is guaranteed to be protected from Remove request, RemoveAll request and Eviction task until its lease expires. The default lease TTL is 5 seconds and is configurable via a startup parameter of master_service. ``` Observed behavior: * PutEnd sets lease=0 (is this expected?). With GC enabled, GetReplicaList marks the object for GC instead of granting a lease * Example: after PUT, the object can exist indefinitely; the first GET immediately schedules it for deletion and it disappears, instead of receiving a lease as the docs specify --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-29 21:30:15 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
kvcache-ai/Mooncake#1776
No description provided.