Skip to content

v1.0.24

Choose a tag to compare

@georgeh0 georgeh0 released this 20 Sep 01:05
· 82 commits to main since this release
b7e1f59

What's Changed

  • fix(state_store): long App.update() runs on Linux no longer hang permanently (#2424) — an LMDB write transaction could resume on a different runtime thread and leave the writer lock held forever, blocking every later write; each write transaction now stays on one OS thread by @georgeh0 in #2426
  • Fixes for duplicate execution of memoized components under concurrency
    • Concurrent runs of a memoized component with the same memo key (e.g. two overlapping App.update() calls on an app whose main function is memoized) now execute the body once: the queued run reuses the memo the first run just stored instead of re-executing by @georgeh0 in #2412
    • The same reuse applies under full_reprocess, scoped to the current update: a memo stored earlier in the same update is reused, while memos left by previous updates are still ignored by @georgeh0 in #2414
  • docs: document container-deletion semantics (destroy vs abandon) — un-declaring a container or running App.drop() removes CocoIndex-owned containers together with their contents, but abandons user-managed ones (Kafka/Iggy topics, managed_by="user" tables and collections) untouched, emitting no tombstones or deletion messages; covers the target-state guide, the Kafka and Iggy connector pages, and custom target connectors by @georgeh0 in #2418

Full Changelog: v1.0.23...v1.0.24