mirror of
https://github.com/rustfs/rustfs.git
synced 2026-08-13 16:46:55 +00:00
e2fb0427f9
PR #6008 deleted crates/io-metrics/src/config.rs but the crate docs still taught the deleted API: both READMEs kept the Unified Configuration sections, module-tree entries and ./src/config.rs links, the example kept an orphaned numbered comment, and the io-core/io-metrics changelog had no removal record. Scrub all of it; keep cache_config.rs references, which are still real.
2.8 KiB
2.8 KiB
Changelog
All notable changes to the rustfs-io-core and rustfs-io-metrics crates will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
Removed
rustfs-io-metrics
- Unified configuration (added in 0.0.5): the zero-consumer
IoConfig,CacheSettings,IoSchedulerSettings,BackpressureSettings,TimeoutSettings,DeadlockDetectionSettingstypes and theirDEFAULT_*constants were removed (rustfs/rustfs#6008); rustfs-io-core'sIoSchedulerConfig/BackpressureConfigremain the canonical configuration types.
[0.0.5] - 2025-01-XX
Added
rustfs-io-core
- IoScheduler: Adaptive I/O scheduler with buffer size calculation
- IoPriorityQueue: Priority queue with starvation prevention
- BackpressureMonitor: System overload protection with dual watermark
- DeadlockDetector: Wait-for graph based deadlock detection
- LockOptimizer: Adaptive spin lock optimization
- RequestTimeoutWrapper: Dynamic timeout calculation
- Buffer size functions:
calculate_optimal_buffer_size,get_buffer_size_for_media, etc. - Configuration types:
IoSchedulerConfig,BackpressureConfig,DeadlockDetectorConfig, etc.
rustfs-io-metrics
- CacheConfig: L1/L2 tiered cache configuration
- AdaptiveTTL: Dynamic TTL adjustment based on access frequency
- AccessTracker: Cache item access pattern tracking
- Metrics recording functions: I/O, cache, backpressure, deadlock, lock, timeout metrics
- Unified configuration:
IoConfig,CacheSettings,IoSchedulerSettings, etc. - Bandwidth monitoring: Real-time bandwidth observation
Changed
- Migrated core I/O scheduling algorithms from
rustfs::storage::concurrencytorustfs-io-core - Migrated metrics and configuration to
rustfs-io-metrics - Updated
rustfs::storage::concurrency::mod.rsto re-export new module types - Added API compatibility tests
Fixed
- Improved buffer size calculation for different storage media
- Enhanced deadlock detection with cycle detection algorithm
- Better backpressure state transitions
Documentation
- Added comprehensive README.md for both crates
- Added design documentation for I/O scheduler, backpressure, deadlock detection
- Added metrics guide and configuration reference
- Added runnable example code
Migration Notes
- All original APIs in
rustfs::storage::concurrencyare preserved - New types are re-exported for gradual migration
- No breaking changes to existing code
[0.0.4] - Previous Version
Note
This changelog starts with version 0.0.5 which includes the concurrency module migration. For previous versions, see the git history.