fix(status): count real-time indexing failures (realTimeErrorCount) #54

Merged
KofTwentyTwo merged 1 commits from fix/realtime-error-count into develop 2026-10-14 15:50:26 +00:00
KofTwentyTwo commented 2026-10-14 15:42:44 +00:00 (Migrated from github.com)

Fixes #53: realTimeErrorCount was never incremented.

  • QuickSearchRecordChangeListener: after recording quick_search_failed_event rows, add the number of failed events to each table's realTimeErrorCount (after commit, serialized within the JVM since QQQ has no arithmetic update; a counter failure is logged and never fails the source write or the replay).
  • Reset to 0 on a successful basepull, full reindex and single-table reindex (before, the zero writes only initialised new rows).
  • Field help text: "Real-time indexing failures since the last full reindex or basepull".
  • Known limit: two app nodes can still race on the read-modify-write (documented).

Tests: mvnw -o -B verify green, with 476 unit tests and the architecture and coverage gates. The 41 integration tests were skipped because Docker isn't available locally; CI runs them. New tests cover event counts, concurrent listeners, a failing counter update, after-commit timing and each reset path.

🤖 Generated with Claude Code

Fixes #53: `realTimeErrorCount` was never incremented. - `QuickSearchRecordChangeListener`: after recording `quick_search_failed_event` rows, add the number of failed events to each table's `realTimeErrorCount` (after commit, serialized within the JVM since QQQ has no arithmetic update; a counter failure is logged and never fails the source write or the replay). - Reset to 0 on a successful basepull, full reindex and single-table reindex (before, the zero writes only initialised new rows). - Field help text: "Real-time indexing failures since the last full reindex or basepull". - Known limit: two app nodes can still race on the read-modify-write (documented). Tests: `mvnw -o -B verify` green, with 476 unit tests and the architecture and coverage gates. The 41 integration tests were skipped because Docker isn't available locally; CI runs them. New tests cover event counts, concurrent listeners, a failing counter update, after-commit timing and each reset path. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sign in to join this conversation.