Commit Graph
439 Commits
Author SHA1 Message Date
Seth 8d6a2e79f5 Add SortedMapIterator unit tests
Cover seeking with inclusive, exclusive and partial start keys, end keys, empty
and infinite ranges, exhausting a range with next(), deepCopy, and the interrupt
flag: seek() checks it on every call, while next() checks it on every 100th
call starting with the first, counting the calls seek() makes to skip an
exclusive start key. Adds the junit-jupiter test dependency to the module.
2026-11-09 10:19:34 -05:00
Seth de89b0628c Throw an IterationInterruptedException when SortedMapIterator is interrupted
Accumulo's SortedMapIterator throws its non-public IterationInterruptedException
when the interrupt flag is set, not an IOException. Add a DataWave
IterationInterruptedException, unchecked like Accumulo's, so callers can catch
the interrupt and handle it, and throw it from next() and seek().
2026-11-09 10:19:00 -05:00
Seth da2b4cbea2 Check the SortedMapIterator interrupt flag every 100th call to next
Accumulo's SortedMapIterator, like NativeMap, only checks the interrupt flag on
every 100th call to next() because checking it on every call is costly. Restore
that, and make the interrupt flag and the new call counter private.
2026-11-09 10:17:56 -05:00
Seth f68f77eb67 Restore Accumulo's seek in SortedMapIterator
Seek to the tail map of the start key, then call next() while the top key is
before the range start, as Accumulo's SortedMapIterator does. Range.beforeStartKey
handles exclusive start keys, so the separate equality check goes away, and an
infinite start no longer skips an entry equal to new Key() when the range marks
its start as exclusive.
2026-11-09 10:16:27 -05:00
Seth 796468807b Make SortedMapIterator map final and drop unused IOException from init 2026-11-05 11:35:50 -05:00
Seth 2ea4225f2a Merge integration into task/replace-sortedmapiterator 2026-11-05 11:31:29 -05:00
Kevin Toth c81c9fdc12 Update pom's for 8.6.0-SNAPSHOT 2026-10-29 11:47:11 +00:00
Moriarty 5515989ed7 Stabilize federated annotation timeout tests (#4088) 2026-10-28 19:38:44 +00:00
Seth 3b9dd933ce Merge integration into task/replace-sortedmapiterator
Updated with integration for the Accumulo 4 work (#3766). Resolved conflicts in pom.xml, AccumuloTableIterableTest, DocumentDataIteratorTest and ParentQueryIteratorTest; kept integration's released in-memory-accumulo 4.0.6 pin and its JUnit 5 test imports, with the DataWave SortedMapIterator import.
2026-10-27 08:51:24 -04:00
Kevin Toth 095ca160b2 Update pom's for 8.5.0-SNAPSHOT 2026-10-22 15:14:39 +00:00
Ivan Bella e4d59a5fa9 Updated springframework to 5.3.39 and security to 5.8.16 for java 17 (#4020) 2026-10-22 14:40:47 +00:00
Moriarty 58bcac70e7 Add EQ, NE, isNull, and isNotNull query terms (#4001) 2026-10-20 13:23:35 +00:00
Laura SchannoandIvan Bella 606a4e5f0c Add replacement for datawave.ingest.util.ThreadUtil (#3816)
Co-authored-by: Ivan Bella <[email protected]>
2026-10-13 13:25:48 -04:00
Laura Schanno aba4adffa2 Add helper classes for interacting with Zookeeper (#3815) 2026-10-13 14:01:35 +00:00
Moriarty d62a29a720 Add query metadata and term model (#3983) 2026-10-13 11:48:57 +00:00
Moriarty 7852d921bc Migrate connection pool tests to JUnit 5 (#3987) 2026-10-13 11:48:46 +00:00
Kevin Toth 6f5624cc8c Update pom's for 8.4.0-SNAPSHOT 2026-10-13 10:31:37 +00:00
Moriarty 13464036a8 Migrate core query tests to JUnit 5 (#3988) 2026-10-09 21:19:23 +00:00
Moriarty 407cbef88c Migrate base REST response tests to JUnit 5 (#3991) 2026-10-09 13:54:02 +00:00
Moriarty 87ec39727b Migrate metadata utils tests to JUnit 5 (#3989) 2026-10-09 13:25:31 +00:00
Moriarty bc8fe5ba21 Migrate core common util test to JUnit 5 (#3990) 2026-10-09 13:22:30 +00:00
Moriarty 4da8445389 Add QTF Writers (#3970) 2026-10-08 17:25:55 +00:00
Kevin Toth 46e2ecddc5 8.2.1-SNAPSHOT 2026-10-05 12:23:56 +00:00
Kevin Toth 9bde7da67e 8.2.0 2026-10-05 12:23:35 +00:00
Kevin Toth a68175c01a Update pom's for 8.3.0-SNAPSHOT 2026-10-05 12:19:46 +00:00
f94f933f1f Add the query test framework metadata core (#3899)
Co-authored-by: Claude Opus 5 <[email protected]>
Co-authored-by: Andrew Moriarty apmoria <[email protected]>
2026-10-02 10:56:10 +00:00
Drew Farris 0000ae57d7 Fixes issues with annotaton validation context, error messages and leaked threads (#3913) 2026-09-28 13:23:10 +00:00
Kevin Toth 045de2e906 Update pom's for 8.2.0-SNAPSHOT 2026-09-21 11:07:38 +00:00
alerman 4f0b97ec72 Task/java17 build baseline (#3907) 2026-09-16 14:24:41 +00:00
5fe65eef30 Sort segments in hash order prior to calculating annotation hash (#3764)
Co-authored-by: ekhart <[email protected]>
Co-authored-by: Drew Farris <[email protected]>
2026-09-11 12:34:11 +00:00
Ivan Bella 659051f851 Merge branch 'release/version8.0' into integration 2026-09-02 17:44:29 +00:00
Ivan Bella 8bd2865af4 4.0.14 2026-09-02 17:17:39 +00:00
Kevin Toth ee1d1a5113 8.0.1-SNAPSHOT 2026-09-02 15:09:03 +00:00
Kevin Toth 59715ee158 8.0.0 2026-09-02 15:08:03 +00:00
Kevin Toth b646acb79b Update pom's for 8.1.0-SNAPSHOT 2026-09-02 15:05:37 +00:00
807d61b52e Migrate to Wildfly 26.1.3.Final (#3508)
Co-authored-by: Ivan Bella <[email protected]>
Co-authored-by: Bill Oley <[email protected]>
Co-authored-by: Moriarty <[email protected]>
Co-authored-by: Claude Opus 5 <[email protected]>
2026-09-02 14:04:28 +00:00
MoriartyandClaude Opus 5 d50e7cc3a4 Make test fork reuse and heap configurable per module (#3904)
Co-authored-by: Claude Opus 5 (1M context) <[email protected]>
2026-09-02 11:19:48 +00:00
Drew Farris fce309c4c5 Add core annotation module changes from PR #3710 (#3893) 2026-08-31 18:00:37 +00:00
Kevin Toth c8c648e12a Update pom's for 7.47.0-SNAPSHOT 2026-08-31 16:31:44 +00:00
MoriartyandClaude Opus 5 53951f0b8f Add the query test framework leaf generators (#3880)
Field name, event id and value generators for the test framework. These
depend only on the util package, so they carry no metadata coupling and
can be reviewed on their own.

---------

Co-authored-by: Claude Opus 5 <[email protected]>
2026-08-28 13:28:03 +00:00
MoriartyandClaude Opus 5 803145b1a7 Fix TypeMetadata serialization race and failure handling (#3870)
toString() built its mini-maps into instance fields, but the metadata
helper cache hands the same TypeMetadata to every concurrent query with
matching auths, so the first serializations after a cache refresh raced
on unsynchronized TreeMaps. They are now built locally and published
once.

Where type metadata is missing or malformed, fail instead of degrading:
folding away an absent ingest type, or parsing a corrupt mini-map, would
normalize values against the wrong types and silently drop valid
results. An empty instance also serialized to an unterminated string the
tablet servers could not parse.

Planning waits could only iterate on a null result and then spun on a
completed future forever, so they now fail fast, and the iterator
setting poll blocks on its future rather than busy-waiting on isDone().

---------

Co-authored-by: Claude Opus 5 <[email protected]>
2026-08-28 11:24:36 +00:00
Kevin Toth ed50f5a76f Update pom's for 7.46.0-SNAPSHOT 2026-08-26 15:39:22 +00:00
Laura SchannoandMoriarty bd25e04589 Improve thread-safety of QueryUncaughtExceptionHandler (#3832)
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]>
2026-08-24 11:28:57 +00:00
MoriartyandClaude Opus 5 a696335cfe Add the query test framework module and its shared utilities (#3800)
First half of the framework's foundation: the new
core/datawave-core-test module plus the util package it is built on.
Split from the generators so each half stays independently reviewable.

---------

Co-authored-by: Claude Opus 5 <[email protected]>
2026-08-21 15:32:06 +00:00
MoriartyandClaude Opus 5 fc48b8b400 Seed and scale down the number normalizer regex fuzzing (#3867)
The test compiled roughly a quarter million patterns from an unseeded
source, so a failure could not be reproduced. A fixed seed, overridable
with datawave.test.seed, now covers ten thousand cases
deterministically.

Co-authored-by: Claude Opus 5 <[email protected]>
2026-08-20 12:35:39 +00:00
MoriartyandClaude Opus 5 4e44a891ca Stop InMemoryScanner filtering user iterator output by range (#3803)
A tablet server returns whatever the topmost user iterator emits;
nothing between the stack and the client tests keys against the range.
Filtering here hid iterators that emit outside their seek range, and
disagreed with InMemoryBatchScanner, which never filtered.

Co-authored-by: Claude Opus 5 <[email protected]>
2026-08-19 08:49:33 +00:00
hgklohr a3b817a85b Update pom's for 7.45.0-SNAPSHOT 2026-08-13 16:56:05 +00:00
Drew FarrisandLaura Schanno dce959bd86 Update AnnotationManagerBean to read from both annotation and truthmark tables (#3708)
- 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]>
2026-08-12 15:17:45 -04:00
Moriarty b9b8f03730 in-memory-accumulo 4.0.7-SNAPSHOT 2026-08-12 18:58:08 +00:00
Moriarty 6f7663f993 in-memory-accumulo 4.0.6 2026-08-12 18:57:34 +00:00