[PR #845] [MERGED] feat(store): add client heartbeat support for non ha mode #1865

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

📋 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)

  • 3767304 feat(store): add client heartbeat support for non ha mode
  • cce2a2e refactor(tests): reorganize test entries in CMakeLists.txt
  • e037aaa update 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 Metadata since 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.

## 📋 Pull Request Information **Original PR:** https://github.com/kvcache-ai/Mooncake/pull/845 **Author:** [@xiaguan](https://github.com/xiaguan) **Created:** 9/16/2025 **Status:** ✅ Merged **Merged:** 9/17/2025 **Merged by:** [@xiaguan](https://github.com/xiaguan) **Base:** `main` ← **Head:** `move_ping_for_no_ha` --- ### 📝 Commits (3) - [`3767304`](https://github.com/kvcache-ai/Mooncake/commit/37673048183434ce128e8e67390ffdddf8bbe770) feat(store): add client heartbeat support for non ha mode - [`cce2a2e`](https://github.com/kvcache-ai/Mooncake/commit/cce2a2efbb80893e03d0fa8d36e2357058ca8c6a) refactor(tests): reorganize test entries in CMakeLists.txt - [`e037aaa`](https://github.com/kvcache-ai/Mooncake/commit/e037aaaa537b118f003bf14b5d41d830bfdd3512) update docs ### 📊 Changes **11 files changed** (+402 additions, -212 deletions) <details> <summary>View changed files</summary> 📝 `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) </details> ### 📄 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 Metadata` since 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. --- <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:58 +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#1865
No description provided.