chore: bump localrecall for postgres per-connection timeouts#10517
Merged
Conversation
Pulls mudler/LocalRecall#49: sets lock_timeout / idle_in_transaction (default on) + opt-in statement_timeout on every pooled connection, so a corrupt/wedged index (e.g. a BM25 insert spinning on a buffer-content lock) can no longer hold its relation lock forever and head-of-line block the whole vector store. Signed-off-by: Ettore Di Giacinto <mudler@localai.io> Assisted-by: Claude:claude-opus-4-8 [Claude Code]
Note the POSTGRES_LOCK_TIMEOUT / POSTGRES_IDLE_IN_TRANSACTION_TIMEOUT / POSTGRES_STATEMENT_TIMEOUT env vars read by the embedded vector store, and that safe defaults are on automatically. Signed-off-by: Ettore Di Giacinto <mudler@localai.io> Assisted-by: Claude:claude-opus-4-8 [Claude Code]
mudler
added a commit
that referenced
this pull request
Jun 25, 2026
#10517 pinned the pseudo-version of the postgres connection-timeout fix; mudler/LocalRecall@v0.6.3 now tags that exact commit. Use the clean release tag instead of the pseudo-version. No code change. Assisted-by: Claude:claude-opus-4-8 [Claude Code] Signed-off-by: Ettore Di Giacinto <mudler@localai.io> Co-authored-by: Ettore Di Giacinto <mudler@localai.io>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pulls mudler/LocalRecall#49.
A corrupt custom-index access method (observed: a BM25 index from
pg_textsearchleft inconsistent by a pastpg_resetwal) can make anINSERTspin indefinitely on aBufferContentLWLock. The wedged backend holds its relation lock the whole time, so every later statement on that table queues behind it - one stuck insert stalls the entire vector store and saturates the connection pool, and is uninterruptible (only a Postgres restart clears it).LocalRecall#49 sets safe per-connection timeouts on the pool:
lock_timeout=30s(default on) - the cascade-killer; queued statements fail fast instead of piling up.idle_in_transaction_session_timeout=300s(default on).statement_timeoutopt-in viaPOSTGRES_STATEMENT_TIMEOUT; index builds are exempted so it's safe to enable.go mod tidyclean,go build ./core/services/...(the agent-pool path that pulls localrecall transitively) green.Assisted-by: Claude:claude-opus-4-8 [Claude Code]