Current Behavior
Qdrant panics due to a debug_assert getting triggered when doing a scroll request, like below
Steps to Reproduce
PUT /collections/my_collection
{
"sparse_vectors": {
"": { }
}
}
PUT /collections/my_collection/points?wait=true
{
"points": [
{
"id": 1,
"vector": {
"": {
"indices": [1, 3, 5, 7],
"values": [0.1, 0.2, 0.3, 0.4]
}
}
}
]
}
POST collections/my_collection/points/scroll // This one will panic
{
"with_vector": true
}
Qdrant Output
2024-10-09T15:22:02.636438Z ERROR qdrant::startup: Panic backtrace:
0: qdrant::startup::setup_panic_hook::{{closure}}
at ./src/startup.rs:19:25
1: <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call
at /rustc/051478957371ee0084a7c0913941d2a8c4757bb9/library/alloc/src/boxed.rs:2077:9
2: std::panicking::rust_panic_with_hook
at /rustc/051478957371ee0084a7c0913941d2a8c4757bb9/library/std/src/panicking.rs:799:13
3: std::panicking::begin_panic_handler::{{closure}}
at /rustc/051478957371ee0084a7c0913941d2a8c4757bb9/library/std/src/panicking.rs:656:13
4: std::sys_common::backtrace::__rust_end_short_backtrace
at /rustc/051478957371ee0084a7c0913941d2a8c4757bb9/library/std/src/sys_common/backtrace.rs:171:18
5: rust_begin_unwind
at /rustc/051478957371ee0084a7c0913941d2a8c4757bb9/library/std/src/panicking.rs:652:5
6: core::panicking::panic_fmt
at /rustc/051478957371ee0084a7c0913941d2a8c4757bb9/library/core/src/panicking.rs:72:14
7: <segment::data_types::vectors::VectorStructInternal as core::convert::From<segment::data_types::named_vectors::NamedVectors>>::from
at ./lib/segment/src/data_types/vectors.rs:452:21
8: <T as core::convert::Into<U>>::into
at /rustc/051478957371ee0084a7c0913941d2a8c4757bb9/library/core/src/convert/mod.rs:759:9
9: collection::collection_manager::segments_searcher::SegmentsSearcher::retrieve_blocking::{{closure}}
at ./lib/collection/src/collection_manager/segments_searcher.rs:407:68
10: collection::collection_manager::holders::segment_holder::SegmentHolder::read_points
at ./lib/collection/src/collection_manager/holders/segment_holder.rs:661:29
11: collection::collection_manager::segments_searcher::SegmentsSearcher::retrieve_blocking
at ./lib/collection/src/collection_manager/segments_searcher.rs:384:9
12: collection::collection_manager::segments_searcher::SegmentsSearcher::retrieve::{{closure}}::{{closure}}
at ./lib/collection/src/collection_manager/segments_searcher.rs:362:21
13: <tokio::runtime::blocking::task::BlockingTask<T> as core::future::future::Future>::poll
at /home/jojii/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.40.0/src/runtime/blocking/task.rs:42:21
14: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}
at /home/jojii/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.40.0/src/runtime/task/core.rs:331:17
15: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut
at /home/jojii/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.40.0/src/loom/std/unsafe_cell.rs:16:9
16: tokio::runtime::task::core::Core<T,S>::poll
at /home/jojii/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.40.0/src/runtime/task/core.rs:320:13
17: tokio::runtime::task::harness::poll_future::{{closure}}
at /home/jojii/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.40.0/src/runtime/task/harness.rs:500:19
18: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
at /rustc/051478957371ee0084a7c0913941d2a8c4757bb9/library/core/src/panic/unwind_safe.rs:272:9
19: std::panicking::try::do_call
at /rustc/051478957371ee0084a7c0913941d2a8c4757bb9/library/std/src/panicking.rs:559:40
20: __rust_try
21: std::panicking::try
at /rustc/051478957371ee0084a7c0913941d2a8c4757bb9/library/std/src/panicking.rs:523:19
22: std::panic::catch_unwind
at /rustc/051478957371ee0084a7c0913941d2a8c4757bb9/library/std/src/panic.rs:149:14
23: tokio::runtime::task::harness::poll_future
at /home/jojii/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.40.0/src/runtime/task/harness.rs:488:18
24: tokio::runtime::task::harness::Harness<T,S>::poll_inner
at /home/jojii/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.40.0/src/runtime/task/harness.rs:209:27
25: tokio::runtime::task::harness::Harness<T,S>::poll
at /home/jojii/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.40.0/src/runtime/task/harness.rs:154:15
26: tokio::runtime::task::raw::poll
at /home/jojii/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.40.0/src/runtime/task/raw.rs:271:5
27: tokio::runtime::task::raw::RawTask::poll
at /home/jojii/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.40.0/src/runtime/task/raw.rs:201:18
28: tokio::runtime::task::UnownedTask<S>::run
at /home/jojii/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.40.0/src/runtime/task/mod.rs:473:9
29: tokio::runtime::blocking::pool::Task::run
at /home/jojii/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.40.0/src/runtime/blocking/pool.rs:160:9
30: tokio::runtime::blocking::pool::Inner::run
at /home/jojii/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.40.0/src/runtime/blocking/pool.rs:518:17
31: tokio::runtime::blocking::pool::Spawner::spawn_thread::{{closure}}
at /home/jojii/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.40.0/src/runtime/blocking/pool.rs:476:13
32: std::sys_common::backtrace::__rust_begin_short_backtrace
at /rustc/051478957371ee0084a7c0913941d2a8c4757bb9/library/std/src/sys_common/backtrace.rs:155:18
33: std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}
at /rustc/051478957371ee0084a7c0913941d2a8c4757bb9/library/std/src/thread/mod.rs:542:17
34: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
at /rustc/051478957371ee0084a7c0913941d2a8c4757bb9/library/core/src/panic/unwind_safe.rs:272:9
35: std::panicking::try::do_call
at /rustc/051478957371ee0084a7c0913941d2a8c4757bb9/library/std/src/panicking.rs:559:40
36: __rust_try
37: std::panicking::try
at /rustc/051478957371ee0084a7c0913941d2a8c4757bb9/library/std/src/panicking.rs:523:19
38: std::panic::catch_unwind
at /rustc/051478957371ee0084a7c0913941d2a8c4757bb9/library/std/src/panic.rs:149:14
39: std::thread::Builder::spawn_unchecked_::{{closure}}
at /rustc/051478957371ee0084a7c0913941d2a8c4757bb9/library/std/src/thread/mod.rs:541:30
40: core::ops::function::FnOnce::call_once{{vtable.shim}}
at /rustc/051478957371ee0084a7c0913941d2a8c4757bb9/library/core/src/ops/function.rs:250:5
41: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
at /rustc/051478957371ee0084a7c0913941d2a8c4757bb9/library/alloc/src/boxed.rs:2063:9
42: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
at /rustc/051478957371ee0084a7c0913941d2a8c4757bb9/library/alloc/src/boxed.rs:2063:9
43: std::sys::pal::unix::thread::Thread::new::thread_start
at /rustc/051478957371ee0084a7c0913941d2a8c4757bb9/library/std/src/sys/pal/unix/thread.rs:108:17
44: <unknown>
45: <unknown>
2024-10-09T15:22:02.636543Z ERROR qdrant::startup: Panic occurred in file lib/segment/src/data_types/vectors.rs at line 452: Sparse vector cannot be default
Current Behavior
Qdrant panics due to a debug_assert getting triggered when doing a scroll request, like below
Steps to Reproduce
Qdrant Output