build(deps): bump org.apache.maven.plugins:maven-shade-plugin from 3.6.0 to 3.6.2#8
Closed
dependabot[bot] wants to merge 45 commits into
Closed
Conversation
…ne, Euclidean, VectorOps)
…p) with zero-copy I/O
… SECURITY, README, CI, templates)
Author
LabelsThe following labels could not be found: Please fix the above issues or remove invalid values from |
…double-consonant dedup
… HNSW recall tests
…n-testtools dependency
…hunker, TextUtils and add chunked ingestion for large documents
…kenizer for large document support
… auto-embed engine integration
- QuantizationType enum (NONE, SCALAR_INT8) - ScalarQuantizer with min/max calibration and INT8 encoding - QuantizedCosineSimilarity and QuantizedDotProduct SIMD kernels - SimilarityFunction updated with quantized variants - ScalarQuantizerTest for encode/decode and batch operations
- PersistenceMode enum (IN_MEMORY, DISK, MMAP) - IndexFileFormat for binary HNSW serialization - QuantizedVectorStore with INT8 compression - InMemoryVectorStore concurrent access improvements
- DiskHnswWriter for binary HNSW graph serialization - DiskHnswIndex for mmap-based read-only index loading - QuantizedHnswIndex with INT8 scalar quantization (4x memory reduction) - BM25Index and HnswIndex performance improvements - DiskHnswIndexTest and QuantizedHnswIndexTest
- ProductQuantizer: K-Means++ codebook training, PQ encode/decode, ADC distance computation, batch encoding - IvfPqIndex: full IVF-PQ implementing VectorIndex SPI with cluster assignment, residual-based PQ encoding, and multi-probe search - PostingList: per-cluster growable storage for PQ codes - 14 tests: PQ training/encode/decode/ADC + IVF-PQ search/recall/sorting
- Reranker SPI interface for pluggable re-ranking strategies - LlmReranker: listwise relevance scoring using Ollama generate API with prompt-based 0-10 scoring and graceful fallback - HybridSearchOrchestrator: integrated optional re-ranking post-processing - LlmRerankerTest: fallback behavior, empty input, topK limiting
- spector-gpu Maven module with Panama FFM CUDA bindings - GpuCapability: runtime CUDA detection (device count, name, memory) - GpuBatchSimilarity: SIMD-optimized batch dot product and cosine similarity using FMA Vector API operations - CudaKernelLauncher: PTX module loader, function resolver, kernel launcher with grid/block configuration - batch_similarity.cu: CUDA kernels for batch_cosine, batch_dot, batch_l2 with block-level shared memory reduction - 14 tests: GPU detection, batch similarity correctness, CUDA launcher
…hitecture - spector-cluster Maven module with gRPC/protobuf integration - spector_search.proto: 6 RPC definitions (vector, keyword, hybrid search, ingest, health check, stats) - ClusterCoordinator: fan-out/merge query execution via virtual threads with consistent hash shard routing - ShardNode: gRPC server wrapping SpectorEngine - SpectorSearchServiceImpl: full gRPC service delegating to local engine - RemoteShardClient: type-safe gRPC client for all 5 RPC methods - ClusterConfig: multi-node endpoint configuration with replication - ClusterConfigTest: routing, hash consistency, topology tests
…rEngine - IndexType enum (HNSW, IVF_PQ) for configurable index strategy - SpectorConfig: added indexType, ivfNlist, ivfNprobe, pqSubspaces with builder methods (withIvfPq) and auto-defaults - SpectorEngine: IVF-PQ auto-training pipeline that buffers ingested vectors and trains PQ codebooks after nlist*40 samples - Backward-compatible 7-arg constructor preserved - 4 new tests: auto-training, keyword search during buffering, config builder, auto-defaults
- HeavyPerformanceBenchmark: keyword/vector/hybrid at 50K-100K scale - IvfPqBenchmark: IVF-PQ search, PQ encode/decode, ADC distance, batch cosine similarity at 10K-50K scale - ConcurrencyBenchmark: multi-threaded search throughput - IngestionBenchmark: document ingestion throughput - PerformanceTestRunner: standalone runner with formatted results
- pom.xml: added spector-gpu, spector-cluster modules to reactor and dependencyManagement - README.md: expanded architecture (13 modules), 5 new features, updated comparison table (quantization, IVF-PQ, GPU, LLM, distributed), updated test suite (316+ tests), added roadmap checklist
Extract ~300 lines of duplicated graph traversal code (greedyClosest, searchLayer, selectNeighbors, addConnection, getNeighbors, setNeighbors) into AbstractHnswIndex base class with three template method hooks: - computeDistance(float[], int) — distance from query to stored node - getNodeVector(int) — float32 vector retrieval for pruning - storeVector(int, float[]) — vector storage on insertion HnswIndex: 413 -> 76 lines (-81%) QuantizedHnswIndex: 476 -> 226 lines (-53%) All 316+ tests passing, zero regressions.
- VectorIndex: add default isReadOnly() method (returns false) - DiskHnswIndex: override isReadOnly() to return true - KeywordIndex: add default remove(String id) method - BM25Index: expose existing removeDoc() logic via KeywordIndex.remove() Completes the deletion API path across the engine.
- Add gpuEnabled, rerankerEnabled, rerankerOllamaUrl, rerankerModel, rerankerMaxCandidates fields to SpectorConfig record - Add with*() builder-style methods for GPU and reranker config - Add IVF-PQ computed defaults (effectiveNlist, effectiveNprobe, etc.) - Add spector-gpu dependency to engine POM
Introduce GoF design patterns for component creation: - VectorIndexFactory: creates HNSW, QuantizedHNSW, or IVF-PQ based on config (replaces if/else chain in engine constructor) - VectorStoreFactory: creates InMemory or MappedVectorStore based on PersistenceMode (replaces hardcoded InMemoryVectorStore) - EngineComponentFactory: Abstract Factory assembling all components (store, index, GPU, reranker) into an EngineComponents record - EngineComponents: immutable record grouping all subsystems Adding a new index or store type now requires zero changes to SpectorEngine (Open/Closed Principle).
Refactor SpectorEngine to delegate component construction to
EngineComponentFactory (Abstract Factory) instead of inline if/else:
- Constructor: 150 lines -> 30 lines
- Field type: BM25Index -> KeywordIndex (DIP compliance)
- Removed 8 concrete class imports for construction (now in factories)
- Added SpectorEngine.Builder for fluent engine construction:
SpectorEngine engine = SpectorEngine.builder()
.dimensions(384).capacity(100_000)
.similarity(SimilarityFunction.COSINE)
.gpu(true).build();
- Added constructor accepting custom EngineComponentFactory for testing
- Integrated GPU fallback and LLM reranker lifecycle
…points
- CORS support via Javalin bundled plugin
- Optional API key authentication via X-API-Key header
- Vector dimension validation on ingest
- New endpoints: /api/v1/ingest/auto, /api/v1/ingest/bulk,
DELETE /api/v1/documents/{id}, /api/v1/metrics
- Request counters via LongAdder for observability
Add 4-arg constructor accepting CA cert, client cert, and client key for TLS-encrypted gRPC connections. Transparent fallback to plaintext for development environments.
…ReentrantLock - Parent POM: remove duplicate jackson-databind declaration - MappedVectorStore: replace synchronized with ReentrantLock on put() and close() for virtual thread compatibility (consistent with InMemoryVectorStore)
- README: reflect current 13-module architecture, design patterns, GPU acceleration, LLM re-ranking, and IVF-PQ indexing - CHANGELOG: comprehensive feature inventory across all modules - goal.md: update roadmap with completed items and current status
…dd INT4/INT2 index support
…nd Spring AI integration
Bumps [org.apache.maven.plugins:maven-shade-plugin](https://github.com/apache/maven-shade-plugin) from 3.6.0 to 3.6.2. - [Release notes](https://github.com/apache/maven-shade-plugin/releases) - [Commits](apache/maven-shade-plugin@maven-shade-plugin-3.6.0...maven-shade-plugin-3.6.2) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-shade-plugin dependency-version: 3.6.2 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
b7b8a6a to
c884cc4
Compare
Author
|
OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting If you change your mind, just re-open this PR and I'll resolve any conflicts on it. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bumps org.apache.maven.plugins:maven-shade-plugin from 3.6.0 to 3.6.2.
Release notes
Sourced from org.apache.maven.plugins:maven-shade-plugin's releases.
... (truncated)
Commits
ad8de59[maven-release-plugin] prepare release maven-shade-plugin-3.6.28eb19dcDrop unneeded dependencies (#788)397b2cdDrop excessive dependencies (#786)eca6398Bug: Extra JARs and Artifacts were not subjected to filtering (#785)7edce17Update to parent POM v 47 (#781)3171a34Mockito improvements (#783)678844bBump org.apache.maven.plugin-testing:maven-plugin-testing-harness (#782)73ec909Bump org.codehaus.mojo:mrm-maven-plugin from 1.7.0 to 1.7.1 (#780)5f7a877Bump org.apache.maven.plugin-testing:maven-plugin-testing-harness (#778)73c5247chore: remove junit3 reference (#762)