Skip to content

1.1.4

Choose a tag to compare

@RuiNelson RuiNelson released this 14 Jun 18:52
· 8 commits to main since this release

Version 1.1.4

Bug Fixes

  • Hardened atomic batch page writes (pcache_put_pages and counter variant). If a data-file write or index commit fails after an existing slot is overwritten, the original bytes of every pre-existing live page are now restored before the function returns. When fail_if_exists is true, intra-batch duplicate identifiers are also rejected before any I/O begins.
  • Fixed a consistency bug in pcache_set_max_pages where an fsync/checkpoint failure after a successful metadata commit could leave the in-memory max_pages value out of sync with the persisted configuration. The in-memory value is now updated immediately after the metadata COMMIT.
  • Fixed pcache_get_pages_range to zero *count_out up front so the output is well-defined on every error return (INVALID_RANGE, BUFFER_TOO_SMALL), matching pcache_check_pages_range.
  • pcache_open now rejects volumes whose persisted page_size, max_pages, or id_size is zero with PCACHE_OPEN_CORRUPT.