Description
Graceful shutdown of a single-node Quickwit 0.9.0-rc1 instance can spend approximately 70 seconds draining and deleting an empty replacement ingest shard while repeatedly reporting that no indexing capacity is available.
All submitted documents had already been committed and verified through REST search before shutdown.
Setup
- Single node running all default services
- File-backed metastore and local split storage
- Index migrated from Quickwit 0.8.2 to 0.9.0-rc1
- 524,288 legacy documents plus 131,072 documents ingested after the upgrade
- The final search returned exactly 655,360 documents with no split errors
Steps to reproduce
- Start Quickwit 0.8.2 and ingest data into an index.
- Stop 0.8.2 cleanly.
- Start 0.9.0-rc1 on the same data directory.
- Ingest additional data using ingest v2 and wait for
quickwit index ingest --force to complete.
- Verify the expected document count through the REST search API.
- Send
SIGINT to initiate graceful shutdown.
Observed behavior
Shutdown began normally:
Graceful shutdown initiated. Waiting for ingested data to be indexed.
quickwit_ingest::ingest_v2::ingester: retiring ingester
The completed shard reached EOF and was deleted, but the control plane assigned a new replacement shard to the retiring indexing pipeline. Shutdown then repeatedly logged:
no ready indexer available, falling back to retiring indexers for shard draining
no indexing capacity available, cannot schedule an indexing plan
The plan diff continued to contain the replacement _ingest-source shard on the retiring node. Eventually Quickwit published an empty checkpoint for that shard, deleted it, and completed:
publish-new-splits num_splits=0 num_docs=0 split_size_bytes=0
successfully decommissioned ingester in 70.30s
REST server successfully shut down
quickwit successfully terminated
No data was lost and the process exited successfully. A second run using the official RC1 container completed graceful shutdown in approximately 22 seconds, so the 70-second path appears timing-sensitive rather than deterministic.
Expected behavior
Once the node is retiring and all accepted data has been indexed, graceful shutdown should not allocate a replacement empty shard that must itself be scheduled and drained.
If the longer drain is an intentional bounded path, the scheduler should avoid repeated alarming no indexing capacity available warnings for an expected single-node shutdown.
Environment
Quickwit 0.9.0
commit: bfcc15e
release feature set (DataFusion disabled)
single-node, file-backed metastore
The issue was first observed with a native build from the exact RC1 commit. The migration and data-integrity checks also passed using the official quickwit/quickwit:v0.9.0-rc1 image.
Description
Graceful shutdown of a single-node Quickwit 0.9.0-rc1 instance can spend approximately 70 seconds draining and deleting an empty replacement ingest shard while repeatedly reporting that no indexing capacity is available.
All submitted documents had already been committed and verified through REST search before shutdown.
Setup
Steps to reproduce
quickwit index ingest --forceto complete.SIGINTto initiate graceful shutdown.Observed behavior
Shutdown began normally:
The completed shard reached EOF and was deleted, but the control plane assigned a new replacement shard to the retiring indexing pipeline. Shutdown then repeatedly logged:
The plan diff continued to contain the replacement
_ingest-sourceshard on the retiring node. Eventually Quickwit published an empty checkpoint for that shard, deleted it, and completed:No data was lost and the process exited successfully. A second run using the official RC1 container completed graceful shutdown in approximately 22 seconds, so the 70-second path appears timing-sensitive rather than deterministic.
Expected behavior
Once the node is retiring and all accepted data has been indexed, graceful shutdown should not allocate a replacement empty shard that must itself be scheduled and drained.
If the longer drain is an intentional bounded path, the scheduler should avoid repeated alarming
no indexing capacity availablewarnings for an expected single-node shutdown.Environment
The issue was first observed with a native build from the exact RC1 commit. The migration and data-integrity checks also passed using the official
quickwit/quickwit:v0.9.0-rc1image.