[MP] Introduce l2 mooncake adapter#2911
Conversation
There was a problem hiding this comment.
Code Review
This pull request introduces a native C++ connector and L2 adapter for Mooncake Store and refactors the RESP and Filesystem native adapters into dedicated modules. Key feedback includes the requirement for integration tests for the new Mooncake feature per the style guide. Additionally, the Mooncake C++ connector requires fixes for error handling in existence checks, removal of unsafe type casting, and making the hardcoded replication count configurable.
Signed-off-by: baoloongmao <baoloongmao@tencent.com>
Signed-off-by: baoloongmao <baoloongmao@tencent.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Signed-off-by: baoloongmao <baoloongmao@tencent.com>
|
@sammshen Would you like to take a look at this PR? Thanks! Base on this, the contributor from mooncake community can help to submit another PR to improve the performance. |

What this PR does / why we need it:
{ "enable_metric_reporting": false, "rpc_port": 50051, "rpc_thread_num": 4, "rpc_address": "0.0.0.0", "rpc_conn_timeout_seconds": 0, "rpc_enable_tcp_no_delay": true, "default_kv_lease_ttl": 5000, "default_kv_soft_pin_ttl": 1800000, "allow_evict_soft_pinned_objects": true, "eviction_ratio": 0.1, "eviction_high_watermark_ratio": 1.0, "enable_ha": false, "root_fs_dir": "", "cluster_id": "mooncake_cluster", "memory_allocator": "offset", "client_live_ttl_sec": 60, "enable_http_metadata_server": true, "http_metadata_server_host": "0.0.0.0", "http_metadata_server_port": 8080 }Special notes for your reviewers:
If applicable:
Note
Medium Risk
Adds a new optional native (C++/pybind) storage backend and wires it into MP L2 adapter creation/build tooling, which can affect build/link behavior and runtime storage correctness when enabled.
Overview
Introduces a new MP L2 adapter type,
mooncake_store, backed by an optional native C++ Mooncake connector exposed via a newlmcache.lmcache_mooncakepybind module.Build/install is updated to conditionally compile and link the Mooncake extension via
BUILD_MOONCAKE/MOONCAKE_INCLUDE_DIR/MOONCAKE_LIB_DIR, and docs are extended with configuration/build instructions and the note thatmooncake_storehas no eviction support.Adds unit tests for config parsing/registry behavior plus integration tests (skipped unless the extension and a Mooncake service are available), and fixes the RESP integration test to import
RESPL2AdapterConfigfrom the correct module.Written by Cursor Bugbot for commit 9c65dc7. This will update automatically on new commits. Configure here.