Files
rustfs/crates/io-core/CHANGELOG.md
T
2026-03-30 00:30:57 +08:00

57 lines
2.3 KiB
Markdown

# 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](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [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::concurrency` to `rustfs-io-core`
- Migrated metrics and configuration to `rustfs-io-metrics`
- Updated `rustfs::storage::concurrency::mod.rs` to 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::concurrency` are 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.