mkio 1.2.1
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 finalwal_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 itsexecute()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_checkclean, no-walleft behind.TestStopWithStrandedReaderguards it.
Install: pip install mkio==1.2.1 — https://pypi.org/project/mkio/1.2.1/