mirror of
https://github.com/rustfs/rustfs.git
synced 2026-08-03 03:47:42 +00:00
9dcf8cb7ea
* fix: unblock empty chunked admin rebalance start Some admin clients send empty POST requests with chunked framing and no explicit content length. The admin rebalance route carries no request body, so normalize that known route before downstream validation sees a missing length. Constraint: Keep normalization scoped to known empty-body admin routes Rejected: Relax transfer-encoding handling for S3 routes | broader protocol risk Confidence: high Scope-risk: narrow Tested: cargo test -p rustfs --lib server::layer::tests:: Tested: cargo fmt --all --check Tested: git diff --check * fix: keep rebalance listing from stalling Large object migration was awaited inside the listing callback, so metacache readers could stop being drained while drive walk operations were still writing listing data. Move entry migration into bounded background tasks and wait for them after each set listing completes. Constraint: Preserve existing rebalance cancellation and first-error propagation Rejected: Only increase drive walk timeouts | masks callback backpressure and still fails for slower migrations Confidence: medium Scope-risk: moderate Tested: cargo test -p rustfs-ecstore rebalance_unit_tests Tested: cargo test -p rustfs-ecstore cache_value::metacache_set::tests Tested: cargo test -p rustfs --lib server::layer::tests:: Tested: cargo clippy -p rustfs-ecstore --lib --all-features -- -D warnings Tested: cargo clippy -p rustfs-ecstore --tests --all-features -- -D warnings Tested: cargo fmt --all --check Tested: git diff --check --------- Co-authored-by: loverustfs <hello@rustfs.com> Co-authored-by: houseme <housemecn@gmail.com> Co-authored-by: cxymds <Cxymds@qq.com>
RustFS ECStore - Erasure Coding Storage
High-performance erasure coding storage engine for RustFS distributed object storage
📖 Documentation
· 🐛 Bug Reports
· 💬 Discussions
📖 Overview
RustFS ECStore provides erasure coding storage capabilities for the RustFS distributed object storage system. For the complete RustFS experience, please visit the main RustFS repository.
✨ Features
- Reed-Solomon erasure coding implementation
- Configurable redundancy levels (N+K schemes)
- Automatic data healing and reconstruction
- Multi-drive support with intelligent placement
- Parallel encoding/decoding for performance
- Efficient disk space utilization
📚 Documentation
For comprehensive documentation, examples, and usage guides, please visit the main RustFS repository.
📄 License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Copyright 2024 RustFS Team
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
RustFS is a trademark of RustFS, Inc.
All other trademarks are the property of their respective owners.
Made with ❤️ by the RustFS Storage Team
