Commit Graph

159 Commits

Author SHA1 Message Date
fatSheep b0bda8caa4
Exclude ub_transport_test from CI ctest (#2007)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-04-29 14:31:10 +08:00
Teng Ma ee3e737d9b
[Store] Add Rust smoke test, benchmark, and CI coverage (#1927)
* [Store] Add Rust smoke test, benchmark, and CI coverage


---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: stmatengss <11641725+stmatengss@users.noreply.github.com>
2026-04-28 20:55:22 +08:00
Stary f1641d69d2
fix (CI): remove pull_request_target trigger and fork-routing from ci.yml (#1994)
The pull_request_target trigger introduced in PR #1989 was incorrectly
preserved during the merge of PR #1992 due to conflict resolution.
Remove it along with the fork-routing conditions in ascend-test and
integration-test, since the mirror URL is now hardcoded in ci_ascend.yml
and vars/secrets access is no longer needed.

Signed-off-by: staryxchen <staryxchen@tencent.com>
2026-04-28 15:37:11 +08:00
Stary 55790b33d2
fix (CI): hardcode Ascend mirror URL and remove pull_request_target routing (#1992)
Signed-off-by: staryxchen <staryxchen@tencent.com>
2026-04-28 10:36:43 +08:00
fatSheep 93ff81c66a
[CI] optimize build-flags job and add TENT compilation test (#1775)
Co-authored-by: fatSheep <tzh2005t@gmail.com>
2026-04-27 21:36:44 +08:00
Stary 16ad1ba92d
[CI] route fork PR to pull_request_target for ascend/integration tests (#1989)
Fork PRs trigger pull_request events where GitHub Actions withholds
vars and secrets. This causes vars.ASCEND_GITHUB_MIRROR_URLS to resolve
as empty on the self-hosted Ascend runner, blocking mirror-based checkout.

Add pull_request_target as a complementary trigger and route both
ascend-test and integration-test by fork origin: non-fork PRs continue
on pull_request, fork PRs are handled by pull_request_target where vars
and secrets are available. Duplicate runs are avoided by skipping the
opposite event for each case.

Signed-off-by: staryxchen <staryxchen@tencent.com>
2026-04-27 17:08:21 +08:00
Copilot 255e287bc1
Refactor ASIO shared target into mooncake-common (#1926)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: stmatengss <11641725+stmatengss@users.noreply.github.com>
Co-authored-by: zhang zuoyuan <zhangzuo21@mails.tsinghua.edu.cn>
2026-04-22 00:15:33 +08:00
lujh 1e9fa36703
[CI] Restore auto-triggered ascend-test and integration-test in ci.yml (#1943) 2026-04-21 15:58:01 +08:00
Stary 1fbe35c2fe
fix(ci): retry ascend submodule update via GitHub mirrors (#1924) 2026-04-20 14:32:39 +08:00
lujh 3e7c78de9b
[Store] Fix segfault in disk-replica/offload paths when handling GPU pointers (#1892)
PutToLocalFile and FileStorage::OffloadObjects crash with SIGSEGV when
slice.ptr points to GPU device memory, because CPU memcpy cannot access
GPU virtual addresses. The RDMA memory-replica path is unaffected.

Add synchronous Device-to-Host staging via PinnedBufferPool before data
reaches the disk-write paths:

- New gpu_staging_utils.h: shared IsDevicePointer/CopyDeviceToHost/
  SetDevice helpers with cross-platform support (CUDA/HIP/MUSA/MACA/
  Ascend CANN)
- New PinnedBufferPool: thread-safe pinned host memory pool with
  max capacity limit (default 32) and O(1) swap-pop acquire
- PutToLocalFile: sync D2H on calling thread, PutRevoke on failure
- OffloadObjects: D2H staging before BatchOffload; on per-slice failure
  the entire object is skipped to prevent partial/corrupt data
- CMakeLists: auto-detect CUDAToolkit/HIP/Ascend independently of
  global USE_CUDA flag, with explicit PRIVATE compile definitions
- CI: add -lcudart to Go test CGO_LDFLAGS when CUDA is present

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-20 11:51:53 +08:00
zhangzuo21 8d3beecb28
[Store] Fix hardcoded 127.0.0.1 bind address in standalone client RPC (#1900) 2026-04-16 20:20:37 +08:00
Stary 020942121d
[CI] add configurable GitHub mirror fallback for Ascend checkout (#1896)
* ci(ascend): add configurable github checkout fallback

* ci(ascend): retry checkout with github mirrors
2026-04-16 14:57:03 +08:00
Chuang Zhang 3a69fa4b4d
[TE] Enabling UB Transport on the Kunpeng SuperNode Phase 2 (#1855) 2026-04-15 00:15:34 +08:00
Teng Ma 01900be50b
[MISC] Add CODEOWNERS for efa_transport directory (#1885) 2026-04-14 16:37:19 +08:00
fatSheep 510cd4ee24
[CI] fix: slash command /run-e2e-ci fails for fork PRs (#1859) 2026-04-10 19:52:30 +08:00
fatSheep 9d35047fcb
[CI] Harden CI pipeline: path filtering, concurrency, on-demand E2E, and security fixes (#1846) 2026-04-10 16:31:53 +08:00
Xuchun Shang e8e8e05d55
feat(store): expose drain job control via master HTTP API (#1815)
* feat(store): expose drain job control via master HTTP API

 Add Phase 1 drain control-plane endpoints on Master HTTP server, keep
 client-side task fetch execution unchanged, and add C++/Python end-to-end
 verification for drain flow and segment state transitions.

Signed-off-by: Xuchun Shang <xuchun.shang@linux.alibaba.com>

* update

Signed-off-by: Xuchun Shang <xuchun.shang@linux.alibaba.com>

* update

Signed-off-by: Xuchun Shang <xuchun.shang@linux.alibaba.com>

* update

Signed-off-by: Xuchun Shang <xuchun.shang@linux.alibaba.com>

* update

Signed-off-by: Xuchun Shang <xuchun.shang@linux.alibaba.com>

* update

Signed-off-by: Xuchun Shang <xuchun.shang@linux.alibaba.com>

* update

Signed-off-by: Xuchun Shang <xuchun.shang@linux.alibaba.com>

* update

Signed-off-by: Xuchun Shang <xuchun.shang@linux.alibaba.com>

* update

Signed-off-by: Xuchun Shang <xuchun.shang@linux.alibaba.com>

* update

Signed-off-by: Xuchun Shang <xuchun.shang@linux.alibaba.com>

* update

Signed-off-by: Xuchun Shang <xuchun.shang@linux.alibaba.com>

* update

Signed-off-by: Xuchun Shang <xuchun.shang@linux.alibaba.com>

---------

Signed-off-by: Xuchun Shang <xuchun.shang@linux.alibaba.com>
2026-04-09 14:33:45 +08:00
lujh ff7ceed623
[CI] Optimize ci fail-fast scheme (#1813)
Co-authored-by: fatSheep <tzh2005t@163.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-08 16:55:50 +08:00
Copilot 30da37a554
[Store] Add native Rust bindings for Mooncake Store with usage example and CI integration (#1810)
---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: stmatengss <11641725+stmatengss@users.noreply.github.com>
Co-authored-by: XucSh <107600043+XucSh@users.noreply.github.com>
Co-authored-by: Teng Ma <teng-ma@linux.alibaba.com>
2026-04-07 19:53:03 +08:00
Zhanhao Cao c16d113107
[PG] Implement graceful shutdown and reland CPU-only tests to CI (#1795) 2026-04-06 15:01:52 +08:00
Ken J da67fad95f
[Store] Add Go language bindings for Mooncake Store (#1764) 2026-04-04 00:25:40 +08:00
ykwd 483c9970f7
[Chore] Update codeowners (#1819)
* Update codeowners

* Update codeowners

---------

Co-authored-by: Ke Yang <yangke@approaching.ai>
2026-04-03 19:03:17 +08:00
lujh 5ff565dcab
[CI] fix bugs with CI pr1782: fail-fast on format check and restore Ascend/Integration as PR gates (#1806) 2026-04-02 22:07:38 +08:00
lujh f0a1dc8717
[CI] Add fail-fast mechanism and stage-based execution (#1782)
Changes:
- Add job dependencies in ci.yml (build jobs depend on spell-check/clang-format)
- Convert ci_ascend.yml and integration-test.yml to workflow_run trigger
- Add paths-filter to avoid running on docs-only PRs
- Fix context variables in integration-test.yml for workflow_run
- Add paths filtering to ci_cu13.yml
2026-04-02 10:23:02 +08:00
Xun Sun bc9947873e
[Misc] Improve developers' experience for EP & PG (#1708)
Some IDEs (like CLion) uses CMakeLists.txt for smart context. This PR adds an optional flag `EP_USE_IDE` that IDE users can enable. It is switched off by default, so that it will not affect production systems.
2026-03-24 10:45:22 +08:00
Stary 79266ffb4d
build: add memory-aware compile/link parallelism (#1718)
* build: add memory-aware compile/link parallelism

Auto-detect available memory and CPU cores at configure time to calculate
safe parallel job limits. With Ninja generator, creates separate job pools
for compilation (~1.5GB/job) and linking (~4GB/job) so high-core machines
can compile fast without OOM during linking.

Changes:
- New mooncake-common/limit_jobs.cmake module
- Include from common.cmake for all build modes
- Switch Dockerfile and CI workflows to Ninja
- User can override via -DPARALLEL_COMPILE_JOBS / -DPARALLEL_LINK_JOBS

Signed-off-by: staryxchen <staryxchen@tencent.com>

* fix(ci): remove sudo from Ascend CI install step

The Ascend CI job runs inside a Docker container as root, where sudo
is not available. This caused exit code 127 after a successful build.

Signed-off-by: staryxchen <staryxchen@tencent.com>

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Signed-off-by: staryxchen <staryxchen@tencent.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 22:33:21 +08:00
1180300720 fdb7040787
[CI] Add hixl roce samples on ASCEND platforms. (#1697)
---------

Co-authored-by: ZhaoBaiwei <zhaobaiwei@huawei.com>
2026-03-21 00:39:41 +08:00
Xun Sun 59c9f90151
[CI] Update artifact selection criteria in workflow (#1700) 2026-03-19 22:38:06 +08:00
Xun Sun 99562454a7
Modify CODEOWNERS to add new code owners (#1679)
Updated CODEOWNERS to include @yuechen-sys.
2026-03-18 00:58:36 +08:00
1180300720 22ecbd794e
[CI] update ascend ci and docs (#1683)
Co-authored-by: ZhaoBaiwei <zhaobaiwei@huawei.com>
2026-03-17 20:34:42 +08:00
Teng Ma 3a36980661
[CI] avoid frequent website deployment (#1671) 2026-03-17 00:31:39 +08:00
Teng Ma 71886f2792
[CI] fix musa build hang issue (#1666)
Change make command to use 4 jobs for building
2026-03-16 13:22:32 +08:00
Copilot 9bd773e6fe
[EP] Move EP/PG wheel-building logic from build_wheel.sh into CMake (#1616) 2026-03-12 22:24:12 +08:00
1180300720 8887c354bf
[CI] Add CI workflow on ASCEND platform (#1640)
Co-authored-by: chenkunjie0506 <chenkunjie1@huawei.com>
Co-authored-by: ZhaoBaiwei <zhaobaiwei@huawei.com>
2026-03-11 16:27:45 +08:00
shicanwei.scw 1bc3c651bc
[CI] skip integration test for non-core file changes (#1609)
---------

Signed-off-by: shicanwei <shicanwei.scw@alibaba-inc.com>
2026-03-10 11:36:04 +08:00
Xun Sun 64627804f1
[PG] Remove CPU-only backend tests from CI (#1628) 2026-03-09 12:52:54 +08:00
Teng Ma cbc32b9c20
[CI] add CU13_BUILD environment variable to CI workflow (#1590)
* [CI] add CU13_BUILD environment variable to CI workflow

* Disable etcd, redis, and examples in CI workflow

* Apply suggestion from @stmatengss

* Update ci_cu13.yml
2026-03-03 10:11:34 +08:00
Stary a05cfc2fae
[DOCS] update pull request template (#1568)
* docs: update pull request template with module checklist and refined change types

- Add "Module" section with checkboxes for various project components
- Simplify "Type of Change" section by removing nested structure
- Add "Refactor" as a new change type option
---------

Signed-off-by: staryxchen <staryxchen@tencent.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-02-27 16:54:03 +08:00
Xinyi Zhang 0bc07265d1
[CI]extend waiting time for aritifact (#1563) 2026-02-26 16:45:46 +08:00
Teng Ma b381320156
[Store] add safe tensor API (#1199)
---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Xuchun Shang <xuchun.shang@gmail.com>
2026-02-26 10:11:10 +08:00
Teng Ma ac732acf6d
[CI] chore: update codeowner (#1556) 2026-02-25 18:48:18 +08:00
Teng Ma 1abb593ad8
[Build] update dockerfile and install mooncake from scratch (#1214)
* [Misc] add new dockerfile

* fix ci

* Add musa.Dockerfile

Signed-off-by: Xiaodong Ye <xiaodong.ye@mthreads.com>

* Update docker/mooncake.Dockerfile

* Apply suggestions from code review

* Fix Dockerfile issues: add submodule init, remove duplicate pip install, add newline

- Add missing git submodule update command in mooncake.Dockerfile
- Remove duplicate pip install command in mooncake.Dockerfile (was installing twice)
- Add missing newline at end of musa.Dockerfile

* Simplify Dockerfiles by removing unimportant steps

Removed unnecessary steps to streamline the build process:
- Remove separate pip upgrade (dependencies.sh handles this)
- Remove git submodule init (not needed for Docker builds from source)
- Remove bash -x verbose flag (reduces noise)
- Remove LD_LIBRARY_PATH setting (cmake install handles this)
- Remove venv creation in runtime (install directly to system Python)
- Remove WORKDIR /workspace in runtime (not needed)
- Remove unused packages: python3-distutils, python3-venv, python3-setuptools, curl, netcat
- Remove redundant pip upgrade in musa runtime

This reduces image size and build time while maintaining functionality.

* reduce size

---------

Signed-off-by: Xiaodong Ye <xiaodong.ye@mthreads.com>
Co-authored-by: Xiaodong Ye <xiaodong.ye@mthreads.com>
2026-02-25 17:24:35 +08:00
qiuweit7 30e48cfd93
[Store] feat: CXL storage full features. (#1531)
* [Store] feat: CXL storage full features.

* fix(ci): resolve cxl test failure and code format

* fix(ci): add CXL protocol support and fix code format issues

* [Store] feat: CXL storage full features, reset and rm extern/pybind

* [TE] Support TCP fallback in EFA build and improve EFA documentation (#1523)

When building with USE_EFA=ON, auto_discover is disabled to prevent
RDMA transport installation (QP creation fails on EFA devices). This
means TCP transport is also not installed automatically. Add explicit
TCP transport installation for non-EFA protocols in the EFA build path.

Documentation changes:
- build.md: Add USE_EFA option and clarify USE_CUDA default/purpose
- supported-protocols.md: Add EFA as a supported protocol
- efa_transport.md: Add USE_CUDA=ON to build command, document GPU
  memory requirement

Co-authored-by: whn09 <whn09@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Teng Ma <teng-ma@linux.alibaba.com>

* [Store] Optimize BucketStorageBackend for reduced lock contention and add delete safety (#1456)

* fix(ci): resolve cxl test failure and code format

* [Store] Add Local Cache Mechanism for Mooncake Store Client (#1226)

* feat(Store): add local hot cache for client

* feat(Store): add client local hot cache log to show performance

* fix: local hot cache initialize bug

* fix(Store): Mooncake put slice is max 16MB, so make local hot cache block 16MB

* feat(Store): move local hot cache initialization to Client::Create

* feat(Store):  local hot cache remove unused small block implementation

* feat(Store): add client local hot cache unit test

* fix(Store): modify client local hot cache suit with v0.3.7

* feat(Store): change local hot cache unit tes

* fix: initialize local hot cache with negative value

* feat: use in process master and metadata fro local hot cache unit test.

* feat: update local hot cache to one replica one slice version

* fix: local hot cache unit test use in process master service

* fix: code style fix

* fix: fix dirty read when client wants to read a previously hitted hot block but the hot block is modified by incoming put actions

* fix: local hot cache unit test use in process master service

* fix: code format fix

* fix: fix comment problems for

* feat: add local hot asynchronous queue size limit

* fix: local hot cache task involves the block so that there is no memcpy operation when inserting local hot cache

* fix: code check fix

* fix: update block in_use prop to reference count

---------

Co-authored-by: shichangzhang064 <zhangshichang@h-partners.com>

* fix(ci): add CXL protocol support and fix code format issues

* fix: address comments from code review

* fix(ci): resolve cxl test failure

* fix(ci): resolve ci error

---------

Co-authored-by: 王鹤男 <wanghenan09@gmail.com>
Co-authored-by: whn09 <whn09@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Teng Ma <teng-ma@linux.alibaba.com>
Co-authored-by: Mahesh Bapatu <153306023+maheshrbapatu@users.noreply.github.com>
Co-authored-by: Shichang Zhang <77728761+Shichang-Zhang@users.noreply.github.com>
Co-authored-by: shichangzhang064 <zhangshichang@h-partners.com>
2026-02-24 19:59:45 +08:00
Jasonzhang517 8d5adc21bf
[CI] opt: add ci switch and free space codes (#1540) 2026-02-12 23:25:38 +08:00
tang c724318217
[Store][Feature] copy and move client support (#1364)
* [Store]: add task executor feature with unit and executor test

Signed-off-by: Vincent Gao <vincentbo@linux.alibaba.com>

* [Store]: add some optimizations to task executor

Refactor the task_executor into the client_service and add a
task structure on the client side. Additionally, remove the
existence check in the execute function;
only retrying should be performed if replica allocation fails.

Signed-off-by: Vincent Gao <vincentbo@linux.alibaba.com>

* [Store]: get source replica from copyStart or moveStart api

* [Store]: call move or copy end if the target replica already exist to complete the replication task

* [Store]: use the max_retry_attempts in master side

* [Store]: add client integration test and set default max_retry_attempts to 10

* [Doc] update task api introduction

Signed-off-by: Vincent Gao <vincentbo@linux.alibaba.com>

* [Store] Set copy and move as private methods

Signed-off-by: Vincent Gao <vincentbo@linux.alibaba.com>

* [Doc]: change the default task max_retry_attempts to 10

* [Doc]: fix some description error

* [Store]: allocate the buffer size to be a multiple of 16MB

* [Store]: validate the replica is in local and directly construct slices from replica buffer address instead of copy the data to local buffer

* [Store]: change the validate logic to directly use transfer engine endpoint or local_hostname_.

* [Store] add e2e ci test for copy and move api

* [Store] refactor the client move and copy function

* [Store] fix the e2e test

* [Store] remove unused code

* [Store] add source field when build replica copy payload in the task_manager_test

* [Store] rename back to snake case for split_into_slices function and also remove hard code for client poll count

* [Store] revert mis deleted field when resolve conflicts

* [Store] change test to validate the real behaviour

* [Store] change the default task fetch size to 16

* [Doc]: change the replica copy/move sequence diagram

* [Store] add new split_into_slice method

* [Store] change the real client to use split_to_slice with buffer handle parameters

---------

Signed-off-by: Vincent Gao <vincentbo@linux.alibaba.com>
Co-authored-by: Vincent Gao <vincentbo@linux.alibaba.com>
2026-02-06 19:02:02 +08:00
Xun Sun a00f757424
Modifying package name for CUDA-13 build (#1502) 2026-02-05 18:33:00 +08:00
Shangming Cai 5c5f18c817
Revert "[Build] feat: use setuptools_scm for more elegant version and support…" (#1497)
This reverts commit 020a906295.
2026-02-05 16:07:16 +08:00
Teng Ma e9f523cb8c
[CI] Add new labels for PyTorch Backend and Mooncake EP (#1487) 2026-02-04 17:33:18 +08:00
Weixiao Huang 020a906295
[Build] feat: use setuptools_scm for more elegant version and support MOONCAKE_LOCAL_VERSION env (#1479)
* feat: use setuptools_scm for more elegant version and support MOONCAKE_LOCAL_VERSION env

* feat: more compatible

* feat: add fetch-tags for build ci

* feat: manually add Fetch git tags actions

* feat: use fetch-depth: 0 and filter: tree:0

---------

Co-authored-by: huangweixiao <huangweixiao@moonshot.cn>
2026-02-04 00:33:03 +08:00
Feng Ren 8f438716ec
Add ascend-direct-dev as codeowner (#1473) 2026-02-02 15:58:47 +08:00