A failed in-transaction re-read of updated records (Exception | LinkageError, for example a host possible-value provider) no longer drops the update. The listener records the updated keys in quickSearchFailedEvent after the commit, so basepull replays them, and a rolled-back write leaves no row.
The re-read failure is logged at warn straight away, with the table name and record count. With a transaction, a rollback (including a transaction the failed re-read aborted) would otherwise leave no trace of the cause.
A LinkageError from building or invoking the lazy publisher and client (for example the optional AWS SDK missing for AWS_SIGV4) is recorded the same way. The delete capture during a full reindex still runs.
A DEGRADED start without the AWS SDK no longer aborts host startup. In both modes the message names the missing class and the optional AWS SDK v2 dependencies (apache-client, sts), instead of reporting OpenSearch as unreachable.
Testing
CI=true ./mvnw verify: 353 unit tests and 19 integration tests pass, and the JaCoCo gate is met.
New unit tests cover:
a re-read failure with commit, with rollback and with no transaction
a LinkageError from the re-read, from building the client, and from publishing
recording itself failing (logged, nothing thrown)
DEGRADED and FAIL_FAST starts with a missing optional class
## Summary
- A failed in-transaction re-read of updated records (`Exception | LinkageError`, for example a host possible-value provider) no longer drops the update. The listener records the updated keys in `quickSearchFailedEvent` after the commit, so basepull replays them, and a rolled-back write leaves no row.
- The re-read failure is logged at warn straight away, with the table name and record count. With a transaction, a rollback (including a transaction the failed re-read aborted) would otherwise leave no trace of the cause.
- A `LinkageError` from building or invoking the lazy publisher and client (for example the optional AWS SDK missing for `AWS_SIGV4`) is recorded the same way. The delete capture during a full reindex still runs.
- A DEGRADED start without the AWS SDK no longer aborts host startup. In both modes the message names the missing class and the optional AWS SDK v2 dependencies (`apache-client`, `sts`), instead of reporting OpenSearch as unreachable.
## Testing
- `CI=true ./mvnw verify`: 353 unit tests and 19 integration tests pass, and the JaCoCo gate is met.
- New unit tests cover:
- a re-read failure with commit, with rollback and with no transaction
- a `LinkageError` from the re-read, from building the client, and from publishing
- recording itself failing (logged, nothing thrown)
- DEGRADED and FAIL_FAST starts with a missing optional class
Closes #13
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.
Summary
Exception | LinkageError, for example a host possible-value provider) no longer drops the update. The listener records the updated keys inquickSearchFailedEventafter the commit, so basepull replays them, and a rolled-back write leaves no row.LinkageErrorfrom building or invoking the lazy publisher and client (for example the optional AWS SDK missing forAWS_SIGV4) is recorded the same way. The delete capture during a full reindex still runs.apache-client,sts), instead of reporting OpenSearch as unreachable.Testing
CI=true ./mvnw verify: 353 unit tests and 19 integration tests pass, and the JaCoCo gate is met.LinkageErrorfrom the re-read, from building the client, and from publishingCloses #13