mirror of
https://github.com/kvcache-ai/Mooncake.git
synced 2026-11-05 01:17:55 +00:00
[PR #845] [MERGED] feat(store): add client heartbeat support for non ha mode #1865
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#1865
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/845
Author: @xiaguan
Created: 9/16/2025
Status: ✅ Merged
Merged: 9/17/2025
Merged by: @xiaguan
Base:
main← Head:move_ping_for_no_ha📝 Commits (3)
3767304feat(store): add client heartbeat support for non ha modecce2a2erefactor(tests): reorganize test entries in CMakeLists.txte037aaaupdate docs📊 Changes
11 files changed (+402 additions, -212 deletions)
View changed files
📝
doc/en/mooncake-store.md(+2 -1)📝
doc/zh/mooncake-store.md(+3 -3)📝
docs/source/design/mooncake-store.md(+2 -1)📝
mooncake-store/include/client.h(+1 -1)📝
mooncake-store/include/utils.h(+7 -0)📝
mooncake-store/src/client.cpp(+65 -29)📝
mooncake-store/src/master_service.cpp(+17 -28)📝
mooncake-store/src/utils.cpp(+33 -1)📝
mooncake-store/tests/CMakeLists.txt(+33 -148)➕
mooncake-store/tests/non_ha_reconnect_test.cpp(+92 -0)➕
mooncake-store/tests/test_server_helpers.h(+147 -0)📄 Description
This change extends client functionality to handle master reconnection and segment remounting in non-HA mode, adds corresponding test infrastructure, and improves utility functions for HTTP operations and port allocation.
By the way, we should also re-insert
TransferEngine Metadatasince HTTP metadata is now embedded in the master.If we don't, other clients won't be able to access it, which could lead to transfer failures and make recovery impossible.
Maybe we can extend the segment definition to include metadata from TransferEngine — but that can be handled in a follow-up PR.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.