v1.38.9 - Backup chunk integrity, usage module and async replication fixes
- Add TwelveLabs Marengo multimodal vectorizer
- Respect per-query concurrency budget in compressed rescore for HNSW
- Don't read file sizes in usage module when not needed
- Parallelize Muvera late-interaction rescoring in HNSW
- Don't hold the DB index lock across a verbose node-status scan
- Reduce allocations in tenant activity tracking
- Don't allocate a mutex on every key-locker call
- Parallelize block term creation across properties in BM25
- Slab-allocate visited sparse-set segments in HNSW
- Skip collection tick while previous report is still running in usage module
- Cancel and drain the cache prefill before HNSW teardown
- Fix 'quantizer not initialized' search error during RQ lazy initialization in flat index
- Fix usage module with named vectors where one is a prefix of another
- Handle ECONNRESET errors in handlePanics function
- Handle context cancellation in cursor operations to prevent incorrect nil returns
- Remove temporary files in compaction/cleanup on failure
- Switch off bloom filters for collection export
- Resolve replicas locally in async replication and never implicitly activate a tenant
- Refresh the memory monitor while shards are read-only
- The non-hardlink backup fallback is deprecated and will be removed in v1.40
Breaking Changes
none
New Features
none
Fixes
- fix(usage): skip collection tick while previous report is still running by @antas-marcin in https://github.com/weaviate/weaviate/pull/12139
- Dont read file sizes in usage module when not needed by @dirkkul in https://github.com/weaviate/weaviate/pull/12418
- fix(hnsw): cancel and drain the cache prefill before teardown by @moogacs in https://github.com/weaviate/weaviate/pull/12408
- flat: fix 'quantizer not initialized' search error during RQ lazy initialization by @asdine in https://github.com/weaviate/weaviate/pull/12419
- perf(hnsw): parallelize Muvera late-interaction rescoring by @etiennedi in https://github.com/weaviate/weaviate/pull/10536
- Don't hold the DB index lock across a verbose node-status scan by @dirkkul in https://github.com/weaviate/weaviate/pull/12375
- Reduce allocations in tenant activity tracking by @dirkkul in https://github.com/weaviate/weaviate/pull/12425
- Don't allocate a mutex on every key-locker call by @dirkkul in https://github.com/weaviate/weaviate/pull/12430
- feat(multi2vec-twelvelabs): add TwelveLabs Marengo multimodal vectorizer by @antas-marcin in https://github.com/weaviate/weaviate/pull/12431
- perf(bm25): parallelize block term creation across properties by @amourao in https://github.com/weaviate/weaviate/pull/12020
- perf(hnsw): slab-allocate visited sparse-set segments by @abdelr in https://github.com/weaviate/weaviate/pull/12374
- feat(hnsw): respect per-query concurrency budget in compressed rescore by @asdine in https://github.com/weaviate/weaviate/pull/12421
- Fix usage module with named vectors where one is a prefix of another by @dirkkul in https://github.com/weaviate/weaviate/pull/12428
- fix(panics): handle ECONNRESET errors in handlePanics function by @amourao in https://github.com/weaviate/weaviate/pull/12449
- fix: handle context cancellation in cursor operations to prevent incorrect nil returns by @amourao in https://github.com/weaviate/weaviate/pull/12448
- Remove tmp files in compaction/cleanup on failure by @dirkkul in https://github.com/weaviate/weaviate/pull/12452
- Switch off bloom filters for collection export by @dirkkul in https://github.com/weaviate/weaviate/pull/12455
- async replication: resolve replicas locally, never implicitly activate a tenant by @jeroiraz in https://github.com/weaviate/weaviate/pull/12256
- Refresh the memory monitor while shards are read-only by @dirkkul in https://github.com/weaviate/weaviate/pull/12468
- docs(backup): mark the non-hardlink backup fallback as deprecated (removed in v1.40) by @etiennedi in https://github.com/weaviate/weaviate/pull/12469
- fix: return the gRPC query profile when a query matches no objects by @etiennedi in https://github.com/weaviate/weaviate/pull/12381
- Use direct map acces for shard movement teardown by @dirkkul in https://github.com/weaviate/weaviate/pull/12467
- fix(tools): adapt qa_pr.sh log fetch to gh >= 2.97 escape-sequence guard by @antas-marcin in https://github.com/weaviate/weaviate/pull/12462
- fix(async-repl): stop worker-pool grow path leaking goroutines by @jeroiraz in https://github.com/weaviate/weaviate/pull/12107
- fix(async-repl): restore shard after a failed tenant freeze by @jeroiraz in https://github.com/weaviate/weaviate/pull/12108
- Merge stable/v1.37 into stable/v1.38 by @antas-marcin in https://github.com/weaviate/weaviate/pull/12472
- test(replication): wait for shard readiness after restart across read_repair suite by @jeroiraz in https://github.com/weaviate/weaviate/pull/12466
- Remove the unused shardReindexerV3 scheduler by @etiennedi in https://github.com/weaviate/weaviate/pull/12478
- fix(dynamic): clean up partial HNSW commit log on aborted flat->HNSW upgrade (v1.37) by @asdine in https://github.com/weaviate/weaviate/pull/12420
- Pool zstd encoders in backups by @dirkkul in https://github.com/weaviate/weaviate/pull/12477
- Backups: never store a partially written chunk by @dirkkul in https://github.com/weaviate/weaviate/pull/12463
- perf(hfresh): parallelize rescoring with budget-aware workers by @asdine in https://github.com/weaviate/weaviate/pull/12487
- perf(hfresh): read rescore vectors through one bucket view with pooled buffers by @asdine in https://github.com/weaviate/weaviate/pull/12490
- fix(schema): return explicit bm25 b/k1 values of 0 in schema responses by @amourao in https://github.com/weaviate/weaviate/pull/12489
- hotfix: RUNTIME_REINDEX_ENABLED kill switch (off by default) by @etiennedi in https://github.com/weaviate/weaviate/pull/12491
- lsmkv: stop CheckExpectedStrategy from heap-allocating its variadic slice by @dirkkul in https://github.com/weaviate/weaviate/pull/12494
Full Changelog: https://github.com/weaviate/weaviate/compare/v1.38.8...v1.38.9