mirror of
https://github.com/kvcache-ai/Mooncake.git
synced 2026-11-05 01:17:55 +00:00
[PR #1364] [MERGED] [Store][Feature] copy and move client support #2196
Labels
No labels
ascend
auto-closed
bug
bug
CI/Build
Common
documentation
enhancement
feature request
good first issue
help wanted
high priority
MetaX
nightly-failure
pull-request
PyTorch Backend
question
RFC
Roadmap
stale
Store
Tests
Transfer Engine
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
kvcache-ai/Mooncake#2196
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/kvcache-ai/Mooncake/pull/1364
Author: @zhongzhouTan-coder
Created: 1/13/2026
Status: ✅ Merged
Merged: 2/6/2026
Merged by: @stmatengss
Base:
main← Head:feature/copy-move-client-support📝 Commits (10+)
da222fb[Store]: add task executor feature with unit and executor testc4ed218[Store]: add some optimizations to task executor99b73e1[Store]: get source replica from copyStart or moveStart apic543bae[Store]: call move or copy end if the target replica already exist to complete the replication taskd9c16e9[Store]: use the max_retry_attempts in master side8272e38[Store]: add client integration test and set default max_retry_attempts to 10081dcd8[Doc] update task api introductiond23dbc7[Store] Set copy and move as private methods5c6fc9a[Doc]: change the default task max_retry_attempts to 10e1eebcc[Doc]: fix some description error📊 Changes
27 files changed (+3239 additions, -60 deletions)
View changed files
📝
.github/workflows/ci.yml(+11 -0)📝
docs/source/deployment/mooncake-store-deployment-guide.md(+7 -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(+4 -1)📝
mooncake-store/include/client_buffer.hpp(+10 -3)📝
mooncake-store/include/client_service.h(+53 -0)📝
mooncake-store/include/master_config.h(+17 -0)📝
mooncake-store/include/rpc_types.h(+5 -2)📝
mooncake-store/include/task_manager.h(+6 -2)📝
mooncake-store/include/thread_pool.h(+1 -0)📝
mooncake-store/include/types.h(+3 -0)📝
mooncake-store/src/client_buffer.cpp(+10 -4)📝
mooncake-store/src/client_service.cpp(+328 -4)📝
mooncake-store/src/master.cpp(+11 -0)📝
mooncake-store/src/master_service.cpp(+6 -6)📝
mooncake-store/src/task_manager.cpp(+2 -1)...and 7 more files
📄 Description
Description
For the review purpose, we just split the large pr to three small pr.
refer to the origin pr: https://github.com/kvcache-ai/Mooncake/pull/1278
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
Features in this pr:
create_copy_task,create_move_task, andquery_task, with usage examples and monitoring patterns.QueryTaskResponseto include additional fields like creation time, last update time, and status message.max_retry_attempts).Clientclass for polling, dispatching, submitting, and executing asynchronous tasks, including a thread pool for background task execution.Type of Change
How Has This Been Tested?
Checklist
Main Contributor
Vincent Gao vincentbo@linux.alibaba.com
Co-authors
Chen Jinlong chenjinlong.cjl@alibaba-inc.com
Tan Zhongzhou 1710115119@bjmu.edu.cn
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.