* support engram
Signed-off-by: Cruz Zhao <CruzZhao@linux.alibaba.com>
* add test case for engram
Signed-off-by: Cruz Zhao <CruzZhao@linux.alibaba.com>
* add docs for engram
Signed-off-by: Cruz Zhao <CruzZhao@linux.alibaba.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
* [Store]: initialize the basic task data structure
* [Store]: implement the task manager
* [Store]: change the mutex to custom mutext
* [Store]: implement copy and move, query task api
* [Store]: change the task manager lock to be shared
* [Store]: change the task to struct when submit
* [Store]: add fetch tasks api
* [Store]: add metrics for query and fetch task api
* [Store]: add update task status api
* [Store]: rename the updateTask api and add pending and processing task limit
* [Store]: expose the task manager paramters to master config
* [Store]: remove client id from client service
* [Store]: change the copy and move api definition to createCopyTask and createMoveTask.
* [Store]: add pending and processing task timeout support
* [Store]: add exposure api to real_client_main and also rename method to snake_case style
* [Store]: directly cast to int64_t
* [Store]: remove unused code and fix the api description
* [Store]: fix metrics issue for mark_task_to_complete
* [Store]: Add independent deployment implementation for Client
Signed-off-by: Xingrui Yi <yixingrui@linux.alibaba.com>
* [Doc]: mooncake-store: add introduce for client standalone mode
Signed-off-by: Xingrui Yi <yixingrui@linux.alibaba.com>
* [CI]: Add dummy client test
Signed-off-by: Xingrui Yi <yixingrui@linux.alibaba.com>
* [Store]: Change dummy client setup into a new func
Signed-off-by: Xingrui Yi <yixingrui@linux.alibaba.com>
* [Store]: Add more log for dummy client
Signed-off-by: Xingrui Yi <yixingrui@linux.alibaba.com>
---------
Signed-off-by: Xingrui Yi <yixingrui@linux.alibaba.com>
* Fix integer overflow in get_into and batch_get_into for values > 4GB
Problem:
- get_into() and batch_get_into() returned 'int' (32-bit signed)
- This caused integer overflow when handling values larger than ~2GB
- Values > 4GB would wrap around and return incorrect results
Solution:
- Changed return type from 'int' to 'int64_t' for both methods
- Updated batch_get_into to return std::vector<int64_t>
- Updated test assertions to use int64_t
Impact:
- Can now handle values up to ~9.2 exabytes (2^63 - 1)
- Backward compatible for values < 2GB
- Internal implementation already used int64_t, so this aligns public API
- Python bindings automatically handle int64_t -> Python int conversion
Files changed:
- mooncake-store/include/pybind_client.h
- mooncake-store/src/pybind_client.cpp
- mooncake-store/tests/pybind_client_test.cpp
* docs: Update Doxygen comment for batch_get_into return type
Update the documentation comment to accurately reflect that batch_get_into
returns a vector of 64-bit integers, not just 'integers'. This clarifies
that the return type can handle values larger than 2GB/4GB.
* feat(allocator): Add transport endpoint support for segment transfers
* refactor(Client): Replace segment_name with transport_endpoint in buffer descriptors and tests
* refactor(test): switch to in-proc master and remove external service management
* style: format code and adjust transfer task timeout
* feat(Client::MountSegment): set te_endpoint conditionally based on metadata_connstring for P2P mode
* Allow configuring default KV lease TTL via environment variable
Read DEFAULT_KV_LEASE_TTL environment variable at server startup and
parse as uint64_t value. This enables CI tests to override default
configuration without code changes.
Signed-off-by: xiaguan <751080330@qq.com>
* style: format CI config and add [[nodiscard]] to methods
Signed-off-by: xiaguan <751080330@qq.com>
* refactor(tests): remove local_hostname parameter and improve test helpers
The commit removes the unused local_hostname parameter from TransferSubmitter constructor, updates the associated initialization logic, and simplifies test code by introducing helper functions for segment creation. The changes improve code maintainability while preserving functionality.
* refactor(TransferSubmitter): Remove unused local_hostname_ member and validation check
* docs(store): update setup examples for p2p
---------
Signed-off-by: xiaguan <751080330@qq.com>
* refactor(store): use dedicated thread for signal handling and atomic cleanup
* refactor(store): switch PyClient to shared_ptr and improve resource management
* refactor(ResourceTracker): use leaked heap object to avoid static destruction order issues
* test: increase unittest verbosity to show running tests
* try fix ci
* fix setup after close
* fix comments
* feat(store): add duplicate rpc_meta key check and CI integration
* fix(KVBootstrapServer): disallow duplicate rpc_meta keys in PUT requests
* revert ci changes
* fix ci
* refactor(store): replace SliceBuffer with BufferHandle in Python bindings
* refactor(store_py): introduce PyClient and wrapper class for Python bindings
* fix
Signed-off-by: Jinyang Su <751080330@qq.com>
---------
Signed-off-by: Jinyang Su <751080330@qq.com>