Store-RS Python Operations#
The root wheel installs the standalone Store-RS commands. Build and install it using the source-checkout quickstart.
Standalone Store-RS Commands#
The root CMake target build_store_rs_cli builds the client, admin, and benchmark binaries. The unified root wheel installs the standalone commands under their mooncake-store-rs-* names. Use the source-checkout quickstart to configure the root build and install the wheel.
Start a storage client:
mooncake-store-rs-client \
--local-hostname 127.0.0.1 \
--metadata-url redis://127.0.0.1:6380/0 \
--storage-bytes $((128 * 1024 * 1024)) \
--scratch-bytes $((16 * 1024 * 1024)) \
--stable-id store-a \
--tenant default \
--label pool=pool-a \
--label storage=true \
--metrics-addr 127.0.0.1:9091
Useful flags:
--transport-metadata-urlto override the Transfer Engine metadata input (defaultP2PHANDSHAKE;tentrequiresredis://...)--transport-backend tent|classic-teto choose the real data-plane backend--transport-rpc-port <port>to pin the real data-plane TCP port used by real clients--routed-writesand--replica-countto enable routed writer mode--route-topk <n>as a compatibility fallback for WRH route-authority fanout; it must be>= 2, should match any policy already stored in metadata, and admin-managed tenant policy is preferred--route-control metadata-only|embedded-wrhas a compatibility fallback for route authority mode; prefer admin-managed tenant policy in metadata--heartbeat-interval-ms,--heartbeat-timeout-ms, and--lease-ttl-msto tune lease refresh;--lease-ttl-msdefaults to30000--request-timeout-msto set the outer request deadline for routed operations and dispatcher calls--startup-timeout-msto override the compatibility registration timeout used by startup local-memory registration plus real-moderegister_buffer/unregister_buffer; when unset the runtime usesmax(20s, ceil(registration_bytes / 1 GiB))--transfer-stall-timeout-msto set the inner transport stall detector for TENT / classic TE--drain-on-exitto enter draining mode and evacuate owned replicas before shutdown--client-server-address host:portto expose the standalone compatibility server for dummy clients only--use-hugepageand--hugepage-size 2MB|1GBto enable hugepage-backed local memory
Role reminder:
use
--label storage=trueon storage nodes that should accept routed placement and run local CLOCK evictionuse
--label storage=falseon routed rw nodes that should place remotely without owning local storage--label storage=truerequires--storage-bytes > 0when
--storage-bytes 0is used without an explicit storage label, the runtime defaults tostorage=false
Port reminder:
transport_rpc_port/--transport-rpc-portis the real-mode data-plane port for the selected backendclient_server_address/--client-server-addressis the dummy compatibility gRPC portmetrics_addr/--metrics-addris only for/metricscross-host real-mode deployments should set both a reachable
local_hostnameand a fixedtransport_rpc_portlocal_hostnamemay also be passed ashost:port; the compatibility layer will split the port intotransport_rpc_port
Heartbeat behavior:
timeout knobs now come from one shared helper across the standalone client, Python compatibility runtime, and dummy client
--request-timeout-ms/MC_STORE_RS_REQUEST_TIMEOUT_MSsets the outer request deadline--startup-timeout-ms/MC_STORE_RS_STARTUP_TIMEOUT_MSsets the registration-specific timeout budget; when unset the runtime derives it from the current registration size with a20sfloor--heartbeat-timeout-ms/MC_STORE_RS_HEARTBEAT_TIMEOUT_MSsets the dedicated heartbeat publish timeout--transfer-stall-timeout-ms/MC_STORE_RS_TRANSFER_STALL_TIMEOUT_MSsets the inner transfer stall detectorMC_STORE_RS_DUMMY_RPC_TIMEOUT_MScontrols dummy gRPC calls and falls back toMC_STORE_RS_REQUEST_TIMEOUT_MSheartbeat publish uses a dedicated timeout instead of the generic request deadline
a single failed heartbeat no longer exits the standalone client process
failed heartbeat publishes are retried on a short backoff
MC_STORE_RS_CONTROL_PLANE_THREADSsets the worker count of the shared control-plane RPC client runtime; default2MC_STORE_RS_CONTROL_PLANE_SERVER_THREADSsets the worker count of the embedded control-plane gRPC server runtime; default4
Metadata Maintenance#
Use the standalone Rust admin binary when metadata still contains stale segment registrations from dead storage owners:
mooncake-store-rs-admin \
--metadata-url redis://127.0.0.1:6380/0 \
cleanup-stale-segments
Admin HTTP Migration Tasks#
Use the route migration guide for operator workflows and the Store-RS Admin HTTP API reference for endpoint details.