fea: memtable#41
Merged
Merged
Conversation
- Introduced a new Rust crate `probing-memtable` for a self-describing columnar memory table with a ring buffer. - Added `Cargo.toml` for package configuration and dependencies, including `xxhash-rust`. - Implemented core library functionality in `lib.rs`, detailing memory layout, concurrency handling, and row format. - Included comprehensive documentation and examples for usage and structure of the memory table.
- Added `memmap2` and `libc` dependencies to `Cargo.toml` for improved memory mapping and C interoperability. - Introduced a new `README.md` file detailing the library's purpose, usage, and core concepts. - Implemented a benchmarking suite in `benches/memtable_report.rs` to evaluate performance metrics. - Refactored `CachedReader` for better cache management and performance optimizations. - Added a new `discover` module for filesystem-based memtable discovery, enabling cross-process access. - Updated memory layout structures to support new features and improve clarity in the codebase.
- Added `memtable` as a new member to the workspace in `Cargo.toml`. - Updated the version of the workspace package to `0.2.4`. - Introduced a new benchmarking report `memh_report` in `probing/memtable/benches` to evaluate performance. - Enhanced `Cargo.toml` for `probing/memtable` with additional dependencies and configurations. - Implemented new layout and codec utilities for the MEMH v3 hash table in `probing/memtable/src/memh`. - Added `memtable_ext` module in the server to integrate `probing-memtable` functionalities, including new API endpoints for handling memtable data. - Improved error handling and data conversion for seamless interaction between memtable and server components.
- Added a new `build.rs` file to configure PyO3 build settings. - Updated `Cargo.lock` to reflect version changes for several dependencies, including upgrading `probing` packages to version `0.2.4`. - Introduced `pyo3-build-config` as a build dependency in `Cargo.toml`. - Updated documentation to reflect the new version of the `probing` package. - Enhanced the `installation` documentation to show the updated version output. - Added a new `pulsing_sync` module in the server to facilitate cluster synchronization with Pulsing. - Implemented a background task for periodic synchronization of cluster membership from Pulsing. - Updated Python integration to support the new cluster synchronization features.
- Simplified function signatures and formatting in `engine.rs`, `memh_report.rs`, and `memtable` modules for better clarity. - Enhanced code structure by aligning braces and indentation across various functions. - Removed unnecessary comments and improved existing ones for better understanding. - Updated the `pulsing.rs` file to remove unused variable declarations, streamlining the code. - Ensured consistent formatting in test cases and utility functions for better maintainability.
Codecov Report❌ Patch coverage is
🚀 New features to boost your workflow:
|
- Introduced a new design document for cluster management utilizing Pulsing's distributed capabilities, detailing automatic node discovery and liveness detection. - Updated `mkdocs.yml` to include navigation for the new cluster management documentation. - Created `cluster-pulsing.md` and `cluster-pulsing.zh.md` files to provide comprehensive guidelines in both English and Chinese on integrating Pulsing with the probing cluster module. - Ensured existing APIs and business semantics are preserved while enhancing cluster functionality.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.