Skip to content

0.3.0

Compare
Choose a tag to compare
@tabokie tabokie released this 14 Sep 09:00
· 55 commits to master since this release
b95dd01

What's Changed

Bug Fixes

  • Unconditionally tolerate fallocate failures as a fix to its portability issue. Errors other than EOPNOTSUPP 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 to Engine API. (#228)
  • Add metadata deletion capability to FileSystem trait. Users can implement exists_metadata and delete_metadata to clean up obsolete metadata from older versions of Raft Engine. (#229)
  • Add Engine::scan_messages and Engine::scan_raw_messages for iterating over written key-values. (#234)
  • Add Engine::get for getting raw value. (#259)
  • Move sync from env::WriteExt to env::Handle. (#269)
  • Deprecate bytes_per_sync. (#269)

Behavior Changes

  • Change format version to 2 from 1 by default. (#265)
  • Enable log recycling by default. (#265)

New Contributors

  • @Uchiha007 made their first contribution in #222
  • @guoxiangCN made their first contribution in #242

Full Changelog: 0.2.0...0.3.0