[PR #1278] [CLOSED] [Store]: add replica move and copy support #2128

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

📋 Pull Request Information

Original PR: https://github.com/kvcache-ai/Mooncake/pull/1278
Author: @zhongzhouTan-coder
Created: 12/25/2025
Status: ❌ Closed

Base: main ← Head: feature/replica-move-copy


📝 Commits (10+)

  • 9c206a7 [Store]: initialize the basic task data structure
  • f3b5634 [Store]: implement the task manager
  • 1dd7c49 [Store]: change the mutex to custom mutext
  • 0f191a5 [Store]: implement copy and move, query task api
  • 3bbed33 [Store]: change the task manager lock to be shared
  • c1d3322 [Store]: change the task to struct when submit
  • 462ff53 [Store]: Add AllocateFrom to allocate replica from specified segment
  • 8668c69 [Store]: Add Move/Copy interfaces
  • eff6b1f [Store]: Refactored ObjectMetadata replica management
  • f8574c4 [Store]: Rename Replica::get_segment_names to get_segment_name

📊 Changes

49 files changed (+7353 additions, -356 deletions)

View changed files

📝 docs/source/deployment/mooncake-store-deployment-guide.md (+9 -1)
📝 docs/source/design/mooncake-store.md (+71 -8)
➕ docs/source/image/mooncake-store-client-create-copy-task.png (+0 -0)
➕ docs/source/image/mooncake-store-client-create-move-task.png (+0 -0)
📝 docs/source/python-api-reference/mooncake-store.md (+126 -0)
📝 docs/source/zh_archive/mooncake-store.md (+66 -7)
📝 mooncake-integration/store/store_py.cpp (+108 -1)
📝 mooncake-store/include/allocation_strategy.h (+43 -0)
📝 mooncake-store/include/client_buffer.hpp (+5 -5)
📝 mooncake-store/include/client_service.h (+87 -0)
📝 mooncake-store/include/dummy_client.h (+9 -0)
📝 mooncake-store/include/master_client.h (+104 -0)
📝 mooncake-store/include/master_config.h (+127 -1)
📝 mooncake-store/include/master_metric_manager.h (+79 -0)
📝 mooncake-store/include/master_service.h (+246 -74)
📝 mooncake-store/include/pyclient.h (+10 -0)
📝 mooncake-store/include/real_client.h (+31 -0)
📝 mooncake-store/include/replica.h (+69 -17)
📝 mooncake-store/include/rpc_service.h (+35 -0)
📝 mooncake-store/include/rpc_types.h (+88 -1)

...and 29 more files

📄 Description

Description

In order to support the dynamic replica adjustment, we need to support replica move and copy first, so we implement the basic replica copy and move features.

The detailed architecture design in the RFC: https://github.com/kvcache-ai/Mooncake/issues/1159

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?

[x] basic unit test
[x] basic integration test

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.

Co-authors

Co-authored-by: Chen Jinlong chenjinlong.cjl@alibaba-inc.com
Co-authored-by: Vincent Gao vincentbo@linux.alibaba.com


🔄 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/1278 **Author:** [@zhongzhouTan-coder](https://github.com/zhongzhouTan-coder) **Created:** 12/25/2025 **Status:** ❌ Closed **Base:** `main` ← **Head:** `feature/replica-move-copy` --- ### 📝 Commits (10+) - [`9c206a7`](https://github.com/kvcache-ai/Mooncake/commit/9c206a7f22c2d97919ce01696742f11315eaca2a) [Store]: initialize the basic task data structure - [`f3b5634`](https://github.com/kvcache-ai/Mooncake/commit/f3b5634d6c6eae6c0a52af418bc12c5d31c463f3) [Store]: implement the task manager - [`1dd7c49`](https://github.com/kvcache-ai/Mooncake/commit/1dd7c49323d220361cadd67c36af8693c689fa76) [Store]: change the mutex to custom mutext - [`0f191a5`](https://github.com/kvcache-ai/Mooncake/commit/0f191a558222edd9a1a4e7514b06558f9ecb741f) [Store]: implement copy and move, query task api - [`3bbed33`](https://github.com/kvcache-ai/Mooncake/commit/3bbed338c6accb846c07810b44d91018f558fb29) [Store]: change the task manager lock to be shared - [`c1d3322`](https://github.com/kvcache-ai/Mooncake/commit/c1d33220891957f79b434cee59dc72db02f1e01e) [Store]: change the task to struct when submit - [`462ff53`](https://github.com/kvcache-ai/Mooncake/commit/462ff53f111aa7b6b8ad0da54670aa9d95f823ab) [Store]: Add AllocateFrom to allocate replica from specified segment - [`8668c69`](https://github.com/kvcache-ai/Mooncake/commit/8668c6992d3f0ef285ee9472c53296ba7b22c780) [Store]: Add Move/Copy interfaces - [`eff6b1f`](https://github.com/kvcache-ai/Mooncake/commit/eff6b1f092e61cc19c6a5310f088bbce18d8f106) [Store]: Refactored ObjectMetadata replica management - [`f8574c4`](https://github.com/kvcache-ai/Mooncake/commit/f8574c4d8ad65a886914f39f1efb1b903e4852ef) [Store]: Rename Replica::get_segment_names to get_segment_name ### 📊 Changes **49 files changed** (+7353 additions, -356 deletions) <details> <summary>View changed files</summary> 📝 `docs/source/deployment/mooncake-store-deployment-guide.md` (+9 -1) 📝 `docs/source/design/mooncake-store.md` (+71 -8) ➕ `docs/source/image/mooncake-store-client-create-copy-task.png` (+0 -0) ➕ `docs/source/image/mooncake-store-client-create-move-task.png` (+0 -0) 📝 `docs/source/python-api-reference/mooncake-store.md` (+126 -0) 📝 `docs/source/zh_archive/mooncake-store.md` (+66 -7) 📝 `mooncake-integration/store/store_py.cpp` (+108 -1) 📝 `mooncake-store/include/allocation_strategy.h` (+43 -0) 📝 `mooncake-store/include/client_buffer.hpp` (+5 -5) 📝 `mooncake-store/include/client_service.h` (+87 -0) 📝 `mooncake-store/include/dummy_client.h` (+9 -0) 📝 `mooncake-store/include/master_client.h` (+104 -0) 📝 `mooncake-store/include/master_config.h` (+127 -1) 📝 `mooncake-store/include/master_metric_manager.h` (+79 -0) 📝 `mooncake-store/include/master_service.h` (+246 -74) 📝 `mooncake-store/include/pyclient.h` (+10 -0) 📝 `mooncake-store/include/real_client.h` (+31 -0) 📝 `mooncake-store/include/replica.h` (+69 -17) 📝 `mooncake-store/include/rpc_service.h` (+35 -0) 📝 `mooncake-store/include/rpc_types.h` (+88 -1) _...and 29 more files_ </details> ### 📄 Description ## Description <!-- A clear and concise description of the changes. Link to any relevant issues. --> In order to support the dynamic replica adjustment, we need to support replica move and copy first, so we implement the basic replica copy and move features. The detailed architecture design in the RFC: https://github.com/kvcache-ai/Mooncake/issues/1159 ## Type of Change * Types - [ ] Bug fix - [x] New feature - [ ] Transfer Engine - [x] Mooncake Store - [ ] Mooncake EP - [x] Integration - [ ] P2P Store - [ ] Python Wheel - [ ] Breaking change - [ ] CI/CD - [ ] Documentation update - [ ] Other ## How Has This Been Tested? <!-- Please describe the tests you've run to verify your changes. --> [x] basic unit test [x] basic integration test ## Checklist - [x] I have performed a self-review of my own code. - [x] I have updated the documentation. - [x] I have added tests to prove my changes are effective. ## Co-authors Co-authored-by: Chen Jinlong <chenjinlong.cjl@alibaba-inc.com> Co-authored-by: Vincent Gao <vincentbo@linux.alibaba.com> --- <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:00 +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#2128
No description provided.