OpenConext / OpenConext/OpenConext-engineblock

Global database lock inhibits reads after a while

Open
#2,088 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

needs-input needs-refinement robustness
Dominant language
PHP
Stars
17
Forks
25
Avg merge
4d 1h
Merged PRs (30d)
1

Description

See SURFconext Incident 2026-08-25. Short summary:

  • database restore in unrelated database schema cause global (write) lock in Galera
  • this cause consent-writes to block
  • after a while. all database connections are busy (waiting of the lock for writes)
  • then also simply authentications (requiring only reads) fail.

Can this be improved? For example by decreasing lock-timeouts?

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files, tests, or entry points are named. Start by tracing how consent writes and authentication reads use database connections during a Galera global write lock, then reproduce the incident scenario and measure lock and connection timeouts. Done means read-only authentication remains available while unrelated writes are blocked, with regression coverage for the timeout behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
authentication, backend, databases
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.