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.
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)
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Fixes #53:
realTimeErrorCountwas never incremented.QuickSearchRecordChangeListener: after recordingquick_search_failed_eventrows, add the number of failed events to each table'srealTimeErrorCount(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).Tests:
mvnw -o -B verifygreen, 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