Skip to content

0.4.0

Compare
Choose a tag to compare
@tabokie tabokie released this 01 Sep 08:57
· 19 commits to master since this release
0a33383

What's Changed

Behavior Changes

  • LogBatch::put returns a Result<()> instead of (). It errs when the key is reserved for internal use. (#290)
  • Possible to specify a permission in FileSystem::open. (#296)
  • Prometheus counter raft_engine_log_file_count no longer includes retired log files that are stashed for recycling. Those files are now tracked by a new counter raft_engine_recycled_file_count. (#297)

Bug Fixes

  • Fix data loss caused by aborted rewrite operation. Downgrading to an earlier version without the fix may produce phantom Raft Groups or keys, i.e. never written but appear in queries. (#290)
  • Fix a potential bug that an un-persisted log batch is mistakenly recovered and causes checksum mismatch error when being read later. (#319)

New Features

  • Support preparing prefilled logs to enable log recycling when start-up. The amount of logs to prepare is controlled by Config::prefill_limit. (#278)
  • Add a new configuration spill-dir to allow automatic placement of logs into an auxiliary directory when dir is full. (#294)
  • Add a new method Engine::fork to duplicate an Engine to a new place, with a few disk file copies. (#296)
  • Support configuring lz4 acceleration factor with compression-level. (#311)

New Contributors

Full Changelog: 0.3.0...0.4.0