Skip to content

v0.2.0

Compare
Choose a tag to compare
@ecton ecton released this 06 Jan 23:55
· 10 commits to main since this release
a555dbf

Breaking Changes

  • LogManager::checkpoint_to now has an additional parameter, wal: &WriteAheadLog. This is provided for convenience because it may be necessary
    to randomly access information in the WAL while performing a checkpointing
    operation.

Added

  • LogPosition::serialize_to/LogPosition::deserialize_from provide methods
    for reading and writing a LogPosition from an arbitrary Write/Read
    implementor (respectively). This uses a fixed-length serialization with a
    length of LogPosition::SERIALIZED_LENGTH -- 16 bytes.

Changed

  • WriteAheadLog::shutdown() now no longer requires all instances of
    WriteAheadLog to be dropped to succeed.

Fixed

  • When the WAL recycles a segment file, the LogPosition returned is now
    correct. Previously, returned LogPositions would contain the segment file's
    old id, causing those positions to be unreadable.
  • When reading from a LogPosition, if the data has not been flushed or
    synchronized to disk yet, the read will be blocked until the sync operation
    finishes.