shard_lock_obtain_failed_exception: Obtaining shard lock timed out
ElasticsearchWhat does it mean?
Elasticsearch could not obtain the local directory lock (shard lock) required to operate on a shard within the timeout. The shard could not be started or reassigned.
Why does it happen?
A previous copy of the same shard (after close/relocation) has not yet released the lock; slow/hung I/O; disk problems; or stale shard state not cleaned up after a fast node restart. Usually transient, but if persistent the shard stays UNASSIGNED.
How to fix it
Check why the shard is unassigned: GET _cluster/allocation/explain. In most cases the lock is released shortly and the cluster retries on its own; if needed, trigger reallocation with POST _cluster/reroute?retry_failed=true. If persistent, examine the affected node's logs for I/O/disk errors and verify disk health. A clean restart of the problematic node can clear the lock.
More from this engine
- receive_timeout_transport_exceptionRequest timed out waiting for a response from another node
- routing_missing_exceptionRouting value is required for this document
- too_many_buckets_exceptionTrying to create too many buckets
- parsing_exceptionFailed to parse the search request / query DSL
- max_bytes_length_exceeded_exceptionDocument contains at least one immense term that is too long
- illegal_argument_exception_total_fieldsLimit of total fields has been exceeded
- verification_exceptionverification_exception: Found N problem(s) — Unknown column / Unknown index (ES|QL, SQL, EQL)