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]>
update accumulo-utils to use a POJO for storing markings and then
updated the rest of the codebase that referenced it.
replaced some of the ColumnVisibility usage with AccessExpression to
improve performance.
---------
Co-authored-by: Joe Alphonso <[email protected]>
- remove UserAuthorizationsTest from web-services/client module. This
was the only test using PowerMock.
- the test was duplicated from core/base-rest-responses. The test in
base-rest-responses uses proper reflection without PowerMock.
## Summary
Replace deprecated `Date(String)` constructor with `Date(long)`.
The `Date(String)` constructor has been deprecated since JDK 1.1.
## Changes
```java
// Before
@SuppressWarnings("deprecation")
private Date parseDateCheck = new Date("Sun Aug 7 00:00:00 GMT 2016");
// After
// Aug 7, 2016 00:00:00 GMT (same as accumuloDate)
private Date parseDateCheck = new Date(1470528000000L);
```
## Files Changed
- `QueryParametersTest.java` - 1 change
Fixes#3300
Part of #2443
* Adds KeywordUUIDQuery that pairs id lookup with keyword extraction.
* Creates a chained query logic that first does lookup uuid, followed by document keyword extraction.
* Adds the ability to generate a word cloud across all keyword results, currently stored in messages portion of the response.
* Adds Datawave TagCloudResponse and supporting classes.
* Adds two endpoints to /DataWave/Query - /extractKeywords and /generateTagCloud - each take a POST request and return keywords from individual documents or consolidated tag coluds, respectively.
* Adds response type for /generateTagCloud, the TagCloudResponseBase and accompanying data classes.
* Updates chained query and improves serialization of objects returned from iterators.
* Addressed formatting, review comments, and completed bugfix.