Skip to content

Comments

Gigamap jvector update tests updade#569

Merged
zdenek-jonas merged 7 commits intogigamap-jvector-updatefrom
gigamap-jvector-update-tests_updade
Feb 21, 2026
Merged

Gigamap jvector update tests updade#569
zdenek-jonas merged 7 commits intogigamap-jvector-updatefrom
gigamap-jvector-update-tests_updade

Conversation

@zdenek-jonas
Copy link
Contributor

A small optimisation of the tests — overall shorter execution time thanks to the use of await.

Some assertions were removed.
An AssertNotNull followed immediately by another assertion that would throw an NPE anyway is unnecessary.

Configuration tests have been moved into the dedicated configuration test class.

Plus a few minor adjustments.

@zdenek-jonas zdenek-jonas requested a review from fh-ms February 20, 2026 18:38
@zdenek-jonas zdenek-jonas merged commit 174e3ee into gigamap-jvector-update Feb 21, 2026
7 checks passed
@zdenek-jonas zdenek-jonas deleted the gigamap-jvector-update-tests_updade branch February 21, 2026 14:10
fh-ms added a commit that referenced this pull request Feb 21, 2026
* Bump jvector version to 4.0.0-rc.8 in pom.xml

* Add parallel on-disk write support to VectorIndex

* Introduce BackgroundIndexingManager for eventual consistency in VectorIndex

- Added `BackgroundIndexingManager` interface to manage background graph indexing.
- Implemented a default asynchronous queue-based manager for deferred HNSW operations.
- Added unit tests to validate eventual indexing behavior across add, update, remove, and bulk operations.

* Add concurrent stress tests for VectorIndex thread safety

- Introduced stress test cases to validate VectorIndex under heavy concurrent operations.
- Tests cover various configurations, including in-memory and on-disk setups with/without PQ compression and background tasks.
- Ensured thread safety via assertions for no exceptions or deadlocks.
- Included targeted eventual indexing and heavy load scenarios for robustness.

* Add performance tests for synchronous vs eventual indexing in VectorIndex

- Introduced test cases to evaluate insertion performance (single and batch adds) between synchronous and eventual indexing modes.
- Verified search quality to ensure correctness of deferred graph indexing.
- Included detailed metrics on caller-visible speedup and indexing throughput.

* Refactor BackgroundIndexingManager to delegate operation handling via execute()

- Replaced the applyOperation method with per-operation execute() implementations in IndexingOperation types.
- Simplified indexing logic by encapsulating operation-specific behavior within each record.
- Improved maintainability and reduced duplication in BackgroundIndexingManager.

* Update default value for parallel on-disk write to false in VectorIndexConfiguration

* Update tests for parallel on-disk write default change to false in VectorIndexConfiguration

* Refactor VectorIndex synchronization and builder operation handling

- Replaced `persistenceLock` with `builderLock` for unified read/write access control over builder operations.
- Introduced deferred operation handling for sync-mode mutations during cleanup phases.
- Improved thread-safety for concurrent graph updates by coordinating via builder read/write locks.
- Added `cleanupInProgress` flag and `deferredBuilderOps` queue to manage in-flight operations during cleanup and persistence tasks.
- Removed redundant `synchronized(parentMap)` calls to avoid lock-ordering issues.

* Documented `eventualIndexing` and `parallelOnDiskWrite` features in VectorIndexConfiguration with examples and configuration details.

* Document eventual indexing and parallel on-disk write features with examples and configuration guidance in VectorIndex JavaDoc.

* Remove redundant default case check for unsupported similarity function in VectorIndex and add comment

* Add braces to conditional statements in VectorEntry equals() for consistency

* Consolidate BackgroundIndexingManager, BackgroundOptimizationManager, and BackgroundPersistenceManager into unified BackgroundTaskManager.

* Gigamap jvector update tests updade (#569)

* move configuration tests to VICT file, remove duplicite tests.

* remove test, duplicate of testBackgroundOptimizationTriggersAfterIntervalAndThreshold

* test refactoring

* change indents - to see diff in PR

* reverts original formats

* add vector indices unit tests

* remove dulicite tests

---------

Co-authored-by: Zdenek Jonas <z.jonas@microstream.one>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants