0.3.0
What's Changed
Bug Fixes
- Unconditionally tolerate
fallocate
failures as a fix to its portability issue. Errors other thanEOPNOTSUPP
will still emit a warning. (#225) - Avoid leaving fractured write after failure by reseeking the file writer. Panic if the reseek fails as well. (#200)
- Fix a parallel recovery panic bug. (#251)
- Fix panic when an empty batch is written to engine and then reused. (#267)
New Features
- Add
PerfContext
which records detailed time breakdown of the write process to thread-local storage. (#227) - Support recycling obsolete log files to reduce the cost of
fallocate
-ing new ones. (#224)
Public API Changes
- Add
is_empty
toEngine
API. (#228) - Add metadata deletion capability to
FileSystem
trait. Users can implementexists_metadata
anddelete_metadata
to clean up obsolete metadata from older versions of Raft Engine. (#229) - Add
Engine::scan_messages
andEngine::scan_raw_messages
for iterating over written key-values. (#234) - Add
Engine::get
for getting raw value. (#259) - Move
sync
fromenv::WriteExt
toenv::Handle
. (#269) - Deprecate
bytes_per_sync
. (#269)
Behavior Changes
New Contributors
- @Uchiha007 made their first contribution in #222
- @guoxiangCN made their first contribution in #242
Full Changelog: 0.2.0...0.3.0