[PR #1319] [MERGED] [Store] - Implement partial success handling in BatchOffload #2158

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

📋 Pull Request Information

Original PR: https://github.com/kvcache-ai/Mooncake/pull/1319
Author: @maheshrbapatu
Created: 1/3/2026
Status: ✅ Merged
Merged: 1/7/2026
Merged by: @stmatengss

Base: main ← Head: partial_success


📝 Commits (2)

  • 39a95cb feat: Add deterministic test failure injection for partial success testing
  • 5fd9740 Addressed review comments

📊 Changes

3 files changed (+210 additions, -19 deletions)

View changed files

📝 mooncake-store/include/storage_backend.h (+33 -0)
📝 mooncake-store/src/storage_backend.cpp (+52 -19)
📝 mooncake-store/tests/storage_backend_test.cpp (+125 -0)

📄 Description

Description

Implement partial success handling in BatchOffload for both StorageBackendAdaptor and OffsetAllocatorStorageBackend. When some keys fail but others succeed, continue processing and report only successful keys to master via complete_handler. This prevents inconsistency where storage backend has written keys but master wasn't notified.

Type of Change

  • Types
    • Bug fix
    • New feature
      • Transfer Engine
      • Mooncake Store
      • Mooncake EP
      • Integration
      • P2P Store
      • Python Wheel
    • Breaking change
    • CI/CD
    • Documentation update
    • Other

How Has This Been Tested?

  • Added PartialSuccess tests for both Adaptor and OffsetAllocator.

Checklist

  • I have performed a self-review of my own code.
  • I have updated the documentation.
  • I have added tests to prove my changes are effective.

🔄 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/1319 **Author:** [@maheshrbapatu](https://github.com/maheshrbapatu) **Created:** 1/3/2026 **Status:** ✅ Merged **Merged:** 1/7/2026 **Merged by:** [@stmatengss](https://github.com/stmatengss) **Base:** `main` ← **Head:** `partial_success` --- ### 📝 Commits (2) - [`39a95cb`](https://github.com/kvcache-ai/Mooncake/commit/39a95cb4d35f8fe820aced03061b337c33f14b78) feat: Add deterministic test failure injection for partial success testing - [`5fd9740`](https://github.com/kvcache-ai/Mooncake/commit/5fd9740e35114ff97fbdc45e877153b90eb06e8c) Addressed review comments ### 📊 Changes **3 files changed** (+210 additions, -19 deletions) <details> <summary>View changed files</summary> 📝 `mooncake-store/include/storage_backend.h` (+33 -0) 📝 `mooncake-store/src/storage_backend.cpp` (+52 -19) 📝 `mooncake-store/tests/storage_backend_test.cpp` (+125 -0) </details> ### 📄 Description ## Description Implement partial success handling in BatchOffload for both StorageBackendAdaptor and OffsetAllocatorStorageBackend. When some keys fail but others succeed, continue processing and report only successful keys to master via complete_handler. This prevents inconsistency where storage backend has written keys but master wasn't notified. ## Type of Change * Types - [X] Bug fix - [ ] New feature - [ ] Transfer Engine - [X] Mooncake Store - [ ] Mooncake EP - [ ] Integration - [ ] P2P Store - [ ] Python Wheel - [ ] Breaking change - [ ] CI/CD - [ ] Documentation update - [ ] Other ## How Has This Been Tested? - Added PartialSuccess tests for both Adaptor and OffsetAllocator. ## Checklist - [X] I have performed a self-review of my own code. - [ ] I have updated the documentation. - [X] I have added tests to prove my changes are effective. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-29 21:33:13 +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#2158
No description provided.