Open nh2 opened 6 months ago
I guess that's this:
https://quickwit.io/docs/configuration/metastore-config#examples
The file-backed metastore does not support multiple instances running at the same time because it does not implement any locking mechanism to prevent concurrent writes from overwriting each other. Ensure that only one file-backed metastore instance is running at all times.
That sounds like a bad idea: Having the file-backed metastore be the the default without any notice to the user for the lack of concurrent usage.
I recommend to use at least some basic advisory locking (man 2 flock
) so that the second local-ingest
can output something like
Waiting while another process has the file-backed metastore lock...
This can usually be implemented with just a few lines of code.
While one
local-ingest
is running, if I start another one, the first one breaks.Steps to reproduce the behavior:
quickwit-0.8.0
quickwit tool local-ingest --index my_logs --input-path /logs/node-4
, running at 80 MB/squickwit tool local-ingest --index my_logs --input-path /logs/node-5
The second
local-ingest
starts to run, and the first one starts outputting errors:Cancelling the second one does not recover the first one, it continues to output such errors in a loop.
Expected behavior
Both ingests work.
Configuration:
index_config.yaml
: