Change8

v1.15.5

📦 qdrant
3 features🐛 16 fixes🔧 6 symbols

Summary

This release focuses heavily on stability and performance, introducing numerous bug fixes for deadlocks and data races, alongside improvements in API validation and resource management to prevent OOM errors.

✨ New Features

  • Added API validation for min_should, filters, point update batch, and others.
  • Added timeout parameter to remove peer operation.
  • Added strict mode configuration to specify max number of payload indices.

🐛 Bug Fixes

  • Fixed slow restart times by acknowledging update/delete by filter operations on flush.
  • Decreased internal update batch sizes to minimize search latency spikes on large user batches.
  • Limited the number of segments loaded in parallel to prevent potential OOM on large clusters.
  • Improved error reporting on mutable ID tracker load errors.
  • Improved error reporting on flush problems.
  • Fixed not flushing mutable ID tracker files after creation, potentially causing segment corruption.
  • Fixed data race at the end of snapshot creation causing missing points.
  • Fixed data race during snapshots corrupting point data if a point is moved.
  • Fixed potential deadlock in REST runtime while streaming shard snapshot.
  • Fixed potential deadlock on REST server runtime.
  • Fixed potential recursive deadlock when fetching all vectors.
  • Fixed potential deadlock in scroll API.
  • Fixed incorrectly deleting old point versions from segments.
  • Fixed upsert operations with duplicate point IDs not being applied properly.
  • Fixed phrase matching ignoring unknown tokens.
  • Fixed strict mode validation on nested filters.

🔧 Affected Symbols

min_shouldfilterspoint update batchremove peer operationmutable ID trackerscroll API