Running Qdrant in Docker, the server entered an unstable state after inserting roughly 900 of 30,439 items. Repeated panics with "called Result::unwrap() on an Err value: OutputTooSmall { expected: 4, actual: 0 }" from gridstore.rs appeared, optimization tasks started failing, and vectors failed validation with 500 errors. The reporter ran Docker on Unraid with appdata on btrfs; others reproduced it with Docker on Windows/WSL2 using a host-mounted storage directory. All reports shared one pattern: the storage path lived on a filesystem that is not fully POSIX compliant.
Qdrant panic "OutputTooSmall { expected: 4, actual: 0 }" in gridstore.rs causing collection instability
The root cause is the storage filesystem, not the data: Qdrant's newer storage engine uses memory-mapped files that require a POSIX-compliant filesystem. The maintainers confirmed unsupported setups include FUSE filesystems (Unraid's /mnt/user on top of btrfs) and Windows host directories mounted into WSL2/Docker, whose implementation is not fully POSIX compliant. Fix: keep Qdrant storage on a native Linux filesystem. On Unraid, mounting /mnt/cache directly instead of /mnt/user resolved it; on Docker Desktop/WSL2 use a Docker volume (storage stays inside the Linux VM) rather than a host bind mount; for Podman Desktop create a Podman volume and use its mount point. One reporter confirmed the volume switch fixed it "100%". Qdrant added a startup filesystem check in PR #6682 and documented supported storage at https://qdrant.tech/documentation/guides/installation/#storage and the incompatibility note at https://qdrant.tech/documentation/guides/common-errors/#incompatible-file-system. Source: https://github.com/qdrant/qdrant/issues/6758
Source: https://github.com/qdrant/qdrant/issues/6758