Skip to content

mkio 1.2.1

Choose a tag to compare

@markuskimius markuskimius released this 14 Sep 02:35
· 4 commits to main since this release

mkio 1.2.1 stops without waiting out a stranded reader. A patch release: no change to the config format, wire protocol, commands, clients, expression language or on-disk layout.

Fixed

  • Database.stop() ran the final wal_checkpoint(TRUNCATE) before closing the read connection. The checkpoint waits for every reader to leave its snapshot, up to SQLite's 5 s busy timeout, and a query cancelled at shutdown while its execute() was queued to the reader's thread left its cursor alive in that thread's locals, holding a snapshot until the connection closed. stop(), and so Ctrl+C, then took several seconds at random — seen on Windows 11 with mkfix, whose engine writes session state during shutdown. The read connection now closes before the checkpoint; the write connection still closes last. The on-disk result is unchanged: every commit present, integrity_check clean, no -wal left behind. TestStopWithStrandedReader guards it.

Install: pip install mkio==1.2.1 — https://pypi.org/project/mkio/1.2.1/