The standalone install adds it in setup-wildfly.sh, but the image ran no
equivalent, so in-VM messaging connections failed authentication and
retried unthrottled, risking an OutOfMemoryError.
Co-authored-by: Claude Opus 5 <[email protected]>
Make the following changes to improve the thread-safety of
QueryUncaughtExceptionHandler, and add test coverage.
- Generate a sequence for each call to uncaughtException() to help
ensure the first call with a non-null Throwable wins the race,
regardless of which thread's CAS operation completes first.
- In uncaughtException(), atomically update the sequence number, thread,
and throwable at the same time.
- Use an efficient, thread-safe collection for storing and retrieving
messages.
---------
Co-authored-by: Moriarty <[email protected]>
* There's no need to return metadata fields like visibility for the
source in the case where we're returning in the context of an
annotation. This will extend to other security markings elsewhere.
- Implements FederatedAnnotationReader that can read from multiple
sources and reconcile results.
- Removes unfinished write implementations from AnnotationManagerBean
due to new write path design via microservices.
- Removes separate AnnotationSourceReader/Writer interfaces and moved
source specific methods to AnnotationReader/Writer to eliminate
complexity.
- Added truthmark cases to AnnotationManagerBeanFunctionalTest.
- Added assertion to compare two annotation lists to ensure equivalence.
Co-authored-by: Laura Schanno <[email protected]>
Migrate most instances of Scanner to using a ScannerBuilder. Another
brick in the road to native scan server support.
---------
Co-authored-by: Claude Sonnet 4.6 <[email protected]>
Co-authored-by: Laura Schanno <[email protected]>
Co-authored-by: alerman <[email protected]>
## Summary
- `QueryMetric`'s `createDate` is stamped from wall-clock time
(truncated to the second) and is part of `equals()`/`hashCode()`. A
prior fix (#3658) worked around a resulting flake in `testPredict()` by
relaxing a Mockito `eq(metric)` matcher to `any(BaseQueryMetric.class)`,
but that gave up on verifying the actual metric passed to the predictor.
- This restores strict matching without the race: `QueryMetricFactory`
is mocked directly, and `ReflectionTestUtils.setField(m, "createDate",
...)` pins the same `createDate` on both the metric the bean builds
internally and the metric built for comparison in the test, so the two
sides can no longer straddle a second boundary.
- No production code changes — confined to the test file.
## Test plan
- [x] `mvn -pl web-services/query -Dtest=QueryExecutorBeanTest test` —
9/9 pass
- [x] `testPredict` re-run 5x in a row to confirm no flakiness
Co-authored-by: Claude Sonnet 5 <[email protected]>
the banned dependencies in web-service/pom.xml were a subset of those in
pom.xml and were overriding them
enforce trhe currently specified log4j version using banned dependencies
(of prior version)