Skip to content

v0.11.2 — PostgreSQLKVBackend self-heals a poisoned connection

Choose a tag to compare

@bzdvdn bzdvdn released this 23 Sep 22:48
· 34 commits to master since this release

Patch release. PostgreSQLKVBackend could be wedged for good by a single
cancelled query: a client dropping a streaming turn cancels the session save
mid-flight, leaving the shared libpq connection busy/aborted, and every later
session read/write failed. Each statement now drops the connection and retries
once on any psycopg error, so the store self-heals. No API change.

Fixed

  • PostgreSQLKVBackend could be wedged for good by a single cancelled query:
    a client dropping a streaming turn cancels the session save mid-flight, which
    leaves the shared libpq connection busy/aborted, and every later session
    read/write then failed (InFailedSqlTransaction, or "another command is
    already in progress" — surfacing as a 500 on DELETE /api/runs/{id}). Each
    statement now drops the connection and retries once on any psycopg error,
    so the store self-heals instead of staying poisoned.