Change8

v1.16.1

📦 qdrant
7 features🐛 7 fixes🔧 4 symbols

Summary

This release focuses heavily on performance improvements, including faster batch queries and active storage migration to Gridstore, alongside numerous stability fixes for Raft, WAL handling, and shard transfers.

Migration Steps

  1. If running an old cluster with user-defined sharding, ensure it is updated to Qdrant 1.15.5 before upgrading to this version to avoid a startup panic.

✨ New Features

  • Batch queries are up to 3 times faster on full scans by reading each point only once.
  • Vector, payload, and payload index storage migration from RocksDB to Gridstore is now performed actively on startup for better and more predictable performance.
  • Added a 60s internal timeout for telemetry/metrics endpoints to prevent long hanging tasks.
  • Added validation to restart shard transfer operation.
  • Gridstore flushing is now deferred to make flushing behavior consistent with all other storage components.
  • Improved consensus WAL compaction logging to aid debugging.
  • Timeout for inference requests is now user configurable.

🐛 Bug Fixes

  • Fixed a panic at startup on old clusters with user defined sharding if not updated to Qdrant 1.15.5 first.
  • Fixed Raft breaking by killing the node at a specific time during consensus snapshot, preventing potential crash loops.
  • Fixed corrupting WAL with a broken flush edge case after WAL is cleared or truncated.
  • Fixed incorrect rescoring default on mutable segments when using binary quantization.
  • Fixed incorrect spawning of search/update tasks on the correct runtime, significantly reducing the number of general/actix threads.
  • Fixed data race in shard transfers by waiting on transfer to start before initializing shards.
  • Fixed incorrect log message when failing to read lock segment for some time.

🔧 Affected Symbols

telemetry/metrics endpointsshard transfer operationconsensus WALinference requests