Hi Romain,
Please find required details for your reference.
GET .security-7/_settings
#! this request accesses system indices: [.security-7], but in a future major version, direct access to system indices will be prevented by default
{
".security-7": {
"settings": {
"index": {
"routing": {
"allocation": {
"include": {
"_tier_preference": "data_hot,data_content"
}
}
},
"hidden": "true",
"number_of_shards": "1",
"auto_expand_replicas": "0-1",
"provided_name": ".security-7",
"format": "6",
"creation_date": "1771076350695",
"analysis": {
"filter": {
"email": {
"type": "pattern_capture",
"preserve_original": "true",
"patterns": [
"([^@]+)",
"""(\p{L}+)""",
"""(\d+)""",
"@(.+)"
]
}
},
"analyzer": {
"email": {
"filter": [
"email",
"lowercase",
"unique"
],
"tokenizer": "uax_url_email"
}
}
},
"priority": "1000",
"number_of_replicas": "1",
"uuid": "i1zYqbUBRwaSrS7RA76CCg",
"version": {
"created": "9033000"
}
}
}
}
}
GET _cluster/allocation/explain
{
"note": "No shard was specified in the explain API request, so this response explains a randomly chosen unassigned shard. There may be other unassigned shards in this cluster which cannot be assigned for different reasons. It may not be possible to assign this shard until one of the other shards is assigned correctly. To explain the allocation of other shards (whether assigned or unassigned) you must specify the target shard in the request to this API. See Explain the shard allocations | Elasticsearch API documentation (v9) for more information.",
"index": ".security-7",
"shard": 0,
"primary": false,
"current_state": "unassigned",
"unassigned_info": {
"reason": "ALLOCATION_FAILED",
"at": "2026-06-08T12:48:56.668Z",
"failed_allocation_attempts": 5,
"details": """failed shard on node [hZhVpAyuQue0JnU7MVsEcQ]: failed recovery, failure org.elasticsearch.indices.recovery.RecoveryFailedException: [.security-7][0]: Recovery failed from {data-38}{KAdKV6zrRY2e5k8-j4NlXw}{g9CVtkF6RNe-tJJBXZlHTQ}{data-38}{10.30.0.38}{10.30.0.38:9300}{d}{9.1.3}{8000099-9033000}{ml.config_version=12.0.0, transform.config_version=10.0.0, xpack.installed=true} into {data-25}{hZhVpAyuQue0JnU7MVsEcQ}{CqGfXCXGQRyAH3R1seZuKw}{data-25}{10.30.4.25}{10.30.4.25:9300}{d}{9.1.3}{8000099-9033000}{ml.config_version=12.0.0, xpack.installed=true, transform.config_version=10.0.0} (failed to prepare shard for recovery)
at org.elasticsearch.indices.recovery.PeerRecoveryTargetService.lambda$doRecovery$1(PeerRecoveryTargetService.java:296)
at org.elasticsearch.action.ActionListenerImplementations$DelegatingResponseActionListener.acceptException(ActionListenerImplementations.java:202)
at org.elasticsearch.action.ActionListenerImplementations.safeAcceptException(ActionListenerImplementations.java:78)
at org.elasticsearch.action.ActionListenerImplementations$DelegatingResponseActionListener.onFailure(ActionListenerImplementations.java:207)
at org.elasticsearch.action.ActionListenerImplementations.safeAcceptException(ActionListenerImplementations.java:78)
at org.elasticsearch.action.ActionListenerImplementations.safeOnFailure(ActionListenerImplementations.java:89)
at org.elasticsearch.action.DelegatingActionListener.onFailure(DelegatingActionListener.java:32)
at org.elasticsearch.action.ActionListenerImplementations$RunBeforeActionListener.onFailure(ActionListenerImplementations.java:360)
at org.elasticsearch.action.ActionListenerImplementations.safeAcceptException(ActionListenerImplementations.java:78)
at org.elasticsearch.action.ActionListenerImplementations.safeOnFailure(ActionListenerImplementations.java:89)
at org.elasticsearch.action.ActionListenerImplementations$NotifyOnceActionListener.onFailure(ActionListenerImplementations.java:390)
at org.elasticsearch.action.ActionListenerImplementations.safeAcceptException(ActionListenerImplementations.java:78)
at org.elasticsearch.action.ActionListenerImplementations.safeOnFailure(ActionListenerImplementations.java:89)
at org.elasticsearch.action.DelegatingActionListener.onFailure(DelegatingActionListener.java:32)
at org.elasticsearch.action.support.SubscribableListener$FailureResult.complete(SubscribableListener.java:415)
at org.elasticsearch.action.support.SubscribableListener.tryComplete(SubscribableListener.java:327)
at org.elasticsearch.action.support.SubscribableListener.addListener(SubscribableListener.java:219)
at org.elasticsearch.action.support.SubscribableListener.addListener(SubscribableListener.java:177)
at org.elasticsearch.indices.recovery.PeerRecoveryTargetService.doRecovery(PeerRecoveryTargetService.java:438)
at org.elasticsearch.indices.recovery.PeerRecoveryTargetService$RecoveryRunner.doRun(PeerRecoveryTargetService.java:767)
at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:1044)
at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:27)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1095)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:619)
at java.lang.Thread.run(Thread.java:1447)
Caused by: java.nio.file.AccessDeniedException: E:\elastic-data\indices\i1zYqbUBRwaSrS7RA76CCg\0\index\write.lock
at sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:89)
at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:103)
at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:108)
at sun.nio.fs.WindowsFileSystemProvider.newFileChannel(WindowsFileSystemProvider.java:118)
at java.nio.channels.FileChannel.open(FileChannel.java:301)
at java.nio.channels.FileChannel.open(FileChannel.java:353)
at org.apache.lucene.store.NativeFSLockFactory.obtainFSLock(NativeFSLockFactory.java:112)
at org.apache.lucene.store.FSLockFactory.obtainLock(FSLockFactory.java:43)
at org.apache.lucene.store.BaseDirectory.obtainLock(BaseDirectory.java:44)
at org.apache.lucene.store.FilterDirectory.obtainLock(FilterDirectory.java:106)
at org.apache.lucene.store.FilterDirectory.obtainLock(FilterDirectory.java:106)
at org.apache.lucene.store.FilterDirectory.obtainLock(FilterDirectory.java:106)
at org.elasticsearch.index.store.Store.cleanupAndVerify(Store.java:678)
at org.elasticsearch.indices.recovery.PeerRecoveryTargetService.lambda$doRecovery$9(PeerRecoveryTargetService.java:419)
at org.elasticsearch.action.ActionListenerImplementations$MappedActionListener.onResponse(ActionListenerImplementations.java:105)
at org.elasticsearch.action.support.SubscribableListener$SuccessResult.complete(SubscribableListener.java:403)
at org.elasticsearch.action.support.SubscribableListener.tryComplete(SubscribableListener.java:323)
at org.elasticsearch.action.support.SubscribableListener.addListener(SubscribableListener.java:219)
at org.elasticsearch.action.support.SubscribableListener.addListener(SubscribableListener.java:177)
at org.elasticsearch.action.support.SubscribableListener.lambda$andThenApply$2(SubscribableListener.java:537)
at org.elasticsearch.action.ActionListener.run(ActionListener.java:465)
at org.elasticsearch.action.support.SubscribableListener.newForked(SubscribableListener.java:135)
at org.elasticsearch.action.support.SubscribableListener.andThenApply(SubscribableListener.java:537)
at org.elasticsearch.indices.recovery.PeerRecoveryTargetService.doRecovery(PeerRecoveryTargetService.java:398)
... 6 more
""",
"last_allocation_status": "no_attempt"
},
"can_allocate": "no",
"allocate_explanation": "Elasticsearch isn't allowed to allocate this shard to any of the nodes in the cluster. Choose a node to which you expect this shard to be allocated, find this node in the node-by-node explanation, and address the reasons which prevent Elasticsearch from allocating this shard there.",
"node_allocation_decisions": [
{
"node_id": "1PV-iB06R9m7HOT-D1-LGA",
"node_name": "data-37",
"transport_address": "10.30.0.37:9300",
"node_attributes": {
"ml.config_version": "12.0.0",
"transform.config_version": "10.0.0",
"xpack.installed": "true"
},
"roles": [
"data"
],
"node_decision": "no",
"deciders": [
{
"decider": "max_retry",
"decision": "NO",
"explanation": """shard has exceeded the maximum number of retries [5] on failed allocation attempts - manually call [POST /_cluster/reroute?retry_failed] to retry, and for more information, see [Diagnose unassigned shards | Elastic Docs] [unassigned_info[[reason=ALLOCATION_FAILED], at[2026-06-08T12:48:56.668Z], failed_attempts[5], failed_nodes[[hZhVpAyuQue0JnU7MVsEcQ, 1PV-iB06R9m7HOT-D1-LGA]], delayed=false, last_node[hZhVpAyuQue0JnU7MVsEcQ], details[failed shard on node [hZhVpAyuQue0JnU7MVsEcQ]: failed recovery, failure org.elasticsearch.indices.recovery.RecoveryFailedException: [.security-7][0]: Recovery failed from {data-38}{KAdKV6zrRY2e5k8-j4NlXw}{g9CVtkF6RNe-tJJBXZlHTQ}{data-38}{10.30.0.38}{10.30.0.38:9300}{d}{9.1.3}{8000099-9033000}{ml.config_version=12.0.0, transform.config_version=10.0.0, xpack.installed=true} into {data-25}{hZhVpAyuQue0JnU7MVsEcQ}{CqGfXCXGQRyAH3R1seZuKw}{data-25}{10.30.4.25}{10.30.4.25:9300}{d}{9.1.3}{8000099-9033000}{ml.config_version=12.0.0, xpack.installed=true, transform.config_version=10.0.0} (failed to prepare shard for recovery)
at org.elasticsearch.indices.recovery.PeerRecoveryTargetService.lambda$doRecovery$1(PeerRecoveryTargetService.java:296)
at org.elasticsearch.action.ActionListenerImplementations$DelegatingResponseActionListener.acceptException(ActionListenerImplementations.java:202)
at org.elasticsearch.action.ActionListenerImplementations.safeAcceptException(ActionListenerImplementations.java:78)
at org.elasticsearch.action.ActionListenerImplementations$DelegatingResponseActionListener.onFailure(ActionListenerImplementations.java:207)
at org.elasticsearch.action.ActionListenerImplementations.safeAcceptException(ActionListenerImplementations.java:78)
at org.elasticsearch.action.ActionListenerImplementations.safeOnFailure(ActionListenerImplementations.java:89)
at org.elasticsearch.action.DelegatingActionListener.onFailure(DelegatingActionListener.java:32)
at org.elasticsearch.action.ActionListenerImplementations$RunBeforeActionListener.onFailure(ActionListenerImplementations.java:360)
at org.elasticsearch.action.ActionListenerImplementations.safeAcceptException(ActionListenerImplementations.java:78)
at org.elasticsearch.action.ActionListenerImplementations.safeOnFailure(ActionListenerImplementations.java:89)
at org.elasticsearch.action.ActionListenerImplementations$NotifyOnceActionListener.onFailure(ActionListenerImplementations.java:390)
at org.elasticsearch.action.ActionListenerImplementations.safeAcceptException(ActionListenerImplementations.java:78)
at org.elasticsearch.action.ActionListenerImplementations.safeOnFailure(ActionListenerImplementations.java:89)
at org.elasticsearch.action.DelegatingActionListener.onFailure(DelegatingActionListener.java:32)
at org.elasticsearch.action.support.SubscribableListener$FailureResult.complete(SubscribableListener.java:415)
at org.elasticsearch.action.support.SubscribableListener.tryComplete(SubscribableListener.java:327)
at org.elasticsearch.action.support.SubscribableListener.addListener(SubscribableListener.java:219)
at org.elasticsearch.action.support.SubscribableListener.addListener(SubscribableListener.java:177)
at org.elasticsearch.indices.recovery.PeerRecoveryTargetService.doRecovery(PeerRecoveryTargetService.java:438)
at org.elasticsearch.indices.recovery.PeerRecoveryTargetService$RecoveryRunner.doRun(PeerRecoveryTargetService.java:767)
at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:1044)
at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:27)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1095)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:619)
at java.lang.Thread.run(Thread.java:1447)
Caused by: java.nio.file.AccessDeniedException: E:\elastic-data\indices\i1zYqbUBRwaSrS7RA76CCg\0\index\write.lock
at sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:89)
at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:103)
at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:108)
at sun.nio.fs.WindowsFileSystemProvider.newFileChannel(WindowsFileSystemProvider.java:118)
at java.nio.channels.FileChannel.open(FileChannel.java:301)
at java.nio.channels.FileChannel.open(FileChannel.java:353)
at org.apache.lucene.store.NativeFSLockFactory.obtainFSLock(NativeFSLockFactory.java:112)
at org.apache.lucene.store.FSLockFactory.obtainLock(FSLockFactory.java:43)
at org.apache.lucene.store.BaseDirectory.obtainLock(BaseDirectory.java:44)
at org.apache.lucene.store.FilterDirectory.obtainLock(FilterDirectory.java:106)
at org.apache.lucene.store.FilterDirectory.obtainLock(FilterDirectory.java:106)
at org.apache.lucene.store.FilterDirectory.obtainLock(FilterDirectory.java:106)
at org.elasticsearch.index.store.Store.cleanupAndVerify(Store.java:678)
at org.elasticsearch.indices.recovery.PeerRecoveryTargetService.lambda$doRecovery$9(PeerRecoveryTargetService.java:419)
at org.elasticsearch.action.ActionListenerImplementations$MappedActionListener.onResponse(ActionListenerImplementations.java:105)
at org.elasticsearch.action.support.SubscribableListener$SuccessResult.complete(SubscribableListener.java:403)
at org.elasticsearch.action.support.SubscribableListener.tryComplete(SubscribableListener.java:323)
at org.elasticsearch.action.support.SubscribableListener.addListener(SubscribableListener.java:219)
at org.elasticsearch.action.support.SubscribableListener.addListener(SubscribableListener.java:177)
at org.elasticsearch.action.support.SubscribableListener.lambda$andThenApply$2(SubscribableListener.java:537)
at org.elasticsearch.action.ActionListener.run(ActionListener.java:465)
at org.elasticsearch.action.support.SubscribableListener.newForked(SubscribableListener.java:135)
at org.elasticsearch.action.support.SubscribableListener.andThenApply(SubscribableListener.java:537)
at org.elasticsearch.indices.recovery.PeerRecoveryTargetService.doRecovery(PeerRecoveryTargetService.java:398)
... 6 more
], allocation_status[no_attempt]]]"""
}
]
},
{
"node_id": "KAdKV6zrRY2e5k8-j4NlXw",
"node_name": "data-38",
"transport_address": "10.30.0.38:9300",
"node_attributes": {
"ml.config_version": "12.0.0",
"transform.config_version": "10.0.0",
"xpack.installed": "true"
},
"roles": [
"data"
],
"node_decision": "no",
"deciders": [
{
"decider": "max_retry",
"decision": "NO",
"explanation": """shard has exceeded the maximum number of retries [5] on failed allocation attempts - manually call [POST /_cluster/reroute?retry_failed] to retry, and for more information, see [Diagnose unassigned shards | Elastic Docs] [unassigned_info[[reason=ALLOCATION_FAILED], at[2026-06-08T12:48:56.668Z], failed_attempts[5], failed_nodes[[hZhVpAyuQue0JnU7MVsEcQ, 1PV-iB06R9m7HOT-D1-LGA]], delayed=false, last_node[hZhVpAyuQue0JnU7MVsEcQ], details[failed shard on node [hZhVpAyuQue0JnU7MVsEcQ]: failed recovery, failure org.elasticsearch.indices.recovery.RecoveryFailedException: [.security-7][0]: Recovery failed from {data-38}{KAdKV6zrRY2e5k8-j4NlXw}{g9CVtkF6RNe-tJJBXZlHTQ}{data-38}{10.30.0.38}{10.30.0.38:9300}{d}{9.1.3}{8000099-9033000}{ml.config_version=12.0.0, transform.config_version=10.0.0, xpack.installed=true} into {data-25}{hZhVpAyuQue0JnU7MVsEcQ}{CqGfXCXGQRyAH3R1seZuKw}{data-25}{10.30.4.25}{10.30.4.25:9300}{d}{9.1.3}{8000099-9033000}{ml.config_version=12.0.0, xpack.installed=true, transform.config_version=10.0.0} (failed to prepare shard for recovery)
at org.elasticsearch.indices.recovery.PeerRecoveryTargetService.lambda$doRecovery$1(PeerRecoveryTargetService.java:296)
at org.elasticsearch.action.ActionListenerImplementations$DelegatingResponseActionListener.acceptException(ActionListenerImplementations.java:202)
at org.elasticsearch.action.ActionListenerImplementations.safeAcceptException(ActionListenerImplementations.java:78)
at org.elasticsearch.action.ActionListenerImplementations$DelegatingResponseActionListener.onFailure(ActionListenerImplementations.java:207)
at org.elasticsearch.action.ActionListenerImplementations.safeAcceptException(ActionListenerImplementations.java:78)
at org.elasticsearch.action.ActionListenerImplementations.safeOnFailure(ActionListenerImplementations.java:89)
at org.elasticsearch.action.DelegatingActionListener.onFailure(DelegatingActionListener.java:32)
at org.elasticsearch.action.ActionListenerImplementations$RunBeforeActionListener.onFailure(ActionListenerImplementations.java:360)
at org.elasticsearch.action.ActionListenerImplementations.safeAcceptException(ActionListenerImplementations.java:78)
at org.elasticsearch.action.ActionListenerImplementations.safeOnFailure(ActionListenerImplementations.java:89)
at org.elasticsearch.action.ActionListenerImplementations$NotifyOnceActionListener.onFailure(ActionListenerImplementations.java:390)
at org.elasticsearch.action.ActionListenerImplementations.safeAcceptException(ActionListenerImplementations.java:78)
at org.elasticsearch.action.ActionListenerImplementations.safeOnFailure(ActionListenerImplementations.java:89)
at org.elasticsearch.action.DelegatingActionListener.onFailure(DelegatingActionListener.java:32)
at org.elasticsearch.action.support.SubscribableListener$FailureResult.complete(SubscribableListener.java:415)
at org.elasticsearch.action.support.SubscribableListener.tryComplete(SubscribableListener.java:327)
at org.elasticsearch.action.support.SubscribableListener.addListener(SubscribableListener.java:219)
at org.elasticsearch.action.support.SubscribableListener.addListener(SubscribableListener.java:177)
at org.elasticsearch.indices.recovery.PeerRecoveryTargetService.doRecovery(PeerRecoveryTargetService.java:438)
at org.elasticsearch.indices.recovery.PeerRecoveryTargetService$RecoveryRunner.doRun(PeerRecoveryTargetService.java:767)
at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:1044)
at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:27)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1095)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:619)
at java.lang.Thread.run(Thread.java:1447)
Caused by: java.nio.file.AccessDeniedException: E:\elastic-data\indices\i1zYqbUBRwaSrS7RA76CCg\0\index\write.lock
at sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:89)
at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:103)
at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:108)
at sun.nio.fs.WindowsFileSystemProvider.newFileChannel(WindowsFileSystemProvider.java:118)
at java.nio.channels.FileChannel.open(FileChannel.java:301)
at java.nio.channels.FileChannel.open(FileChannel.java:353)
at org.apache.lucene.store.NativeFSLockFactory.obtainFSLock(NativeFSLockFactory.java:112)
at org.apache.lucene.store.FSLockFactory.obtainLock(FSLockFactory.java:43)
at org.apache.lucene.store.BaseDirectory.obtainLock(BaseDirectory.java:44)
at org.apache.lucene.store.FilterDirectory.obtainLock(FilterDirectory.java:106)
at org.apache.lucene.store.FilterDirectory.obtainLock(FilterDirectory.java:106)
at org.apache.lucene.store.FilterDirectory.obtainLock(FilterDirectory.java:106)
at org.elasticsearch.index.store.Store.cleanupAndVerify(Store.java:678)
at org.elasticsearch.indices.recovery.PeerRecoveryTargetService.lambda$doRecovery$9(PeerRecoveryTargetService.java:419)
at org.elasticsearch.action.ActionListenerImplementations$MappedActionListener.onResponse(ActionListenerImplementations.java:105)
at org.elasticsearch.action.support.SubscribableListener$SuccessResult.complete(SubscribableListener.java:403)
at org.elasticsearch.action.support.SubscribableListener.tryComplete(SubscribableListener.java:323)
at org.elasticsearch.action.support.SubscribableListener.addListener(SubscribableListener.java:219)
at org.elasticsearch.action.support.SubscribableListener.addListener(SubscribableListener.java:177)
at org.elasticsearch.action.support.SubscribableListener.lambda$andThenApply$2(SubscribableListener.java:537)
at org.elasticsearch.action.ActionListener.run(ActionListener.java:465)
at org.elasticsearch.action.support.SubscribableListener.newForked(SubscribableListener.java:135)
at org.elasticsearch.action.support.SubscribableListener.andThenApply(SubscribableListener.java:537)
at org.elasticsearch.indices.recovery.PeerRecoveryTargetService.doRecovery(PeerRecoveryTargetService.java:398)
... 6 more
], allocation_status[no_attempt]]]"""
},
{
"decider": "same_shard",
"decision": "NO",
"explanation": "a copy of this shard is already allocated to this node [[.security-7][0], node[KAdKV6zrRY2e5k8-j4NlXw], [P], s[STARTED], a[id=Is4lRdwARPq4MOnmsb7cRQ], failed_attempts[0]]"
}
]
},
{
"node_id": "bwbEoCmqTI6U_7l8JZAK_Q",
"node_name": "data-24",
"transport_address": "10.30.4.24:9300",
"node_attributes": {
"ml.config_version": "12.0.0",
"transform.config_version": "10.0.0",
"xpack.installed": "true"
},
"roles": [
"data"
],
"node_decision": "no",
"deciders": [
{
"decider": "max_retry",
"decision": "NO",
"explanation": """shard has exceeded the maximum number of retries [5] on failed allocation attempts - manually call [POST /_cluster/reroute?retry_failed] to retry, and for more information, see [Diagnose unassigned shards | Elastic Docs] [unassigned_info[[reason=ALLOCATION_FAILED], at[2026-06-08T12:48:56.668Z], failed_attempts[5], failed_nodes[[hZhVpAyuQue0JnU7MVsEcQ, 1PV-iB06R9m7HOT-D1-LGA]], delayed=false, last_node[hZhVpAyuQue0JnU7MVsEcQ], details[failed shard on node [hZhVpAyuQue0JnU7MVsEcQ]: failed recovery, failure org.elasticsearch.indices.recovery.RecoveryFailedException: [.security-7][0]: Recovery failed from {data-38}{KAdKV6zrRY2e5k8-j4NlXw}{g9CVtkF6RNe-tJJBXZlHTQ}{data-38}{10.30.0.38}{10.30.0.38:9300}{d}{9.1.3}{8000099-9033000}{ml.config_version=12.0.0, transform.config_version=10.0.0, xpack.installed=true} into {data-25}{hZhVpAyuQue0JnU7MVsEcQ}{CqGfXCXGQRyAH3R1seZuKw}{data-25}{10.30.4.25}{10.30.4.25:9300}{d}{9.1.3}{8000099-9033000}{ml.config_version=12.0.0, xpack.installed=true, transform.config_version=10.0.0} (failed to prepare shard for recovery)
at org.elasticsearch.indices.recovery.PeerRecoveryTargetService.lambda$doRecovery$1(PeerRecoveryTargetService.java:296)
at org.elasticsearch.action.ActionListenerImplementations$DelegatingResponseActionListener.acceptException(ActionListenerImplementations.java:202)
at org.elasticsearch.action.ActionListenerImplementations.safeAcceptException(ActionListenerImplementations.java:78)
at org.elasticsearch.action.ActionListenerImplementations$DelegatingResponseActionListener.onFailure(ActionListenerImplementations.java:207)
at org.elasticsearch.action.ActionListenerImplementations.safeAcceptException(ActionListenerImplementations.java:78)
at org.elasticsearch.action.ActionListenerImplementations.safeOnFailure(ActionListenerImplementations.java:89)
at org.elasticsearch.action.DelegatingActionListener.onFailure(DelegatingActionListener.java:32)
at org.elasticsearch.action.ActionListenerImplementations$RunBeforeActionListener.onFailure(ActionListenerImplementations.java:360)
at org.elasticsearch.action.ActionListenerImplementations.safeAcceptException(ActionListenerImplementations.java:78)
at org.elasticsearch.action.ActionListenerImplementations.safeOnFailure(ActionListenerImplementations.java:89)
at org.elasticsearch.action.ActionListenerImplementations$NotifyOnceActionListener.onFailure(ActionListenerImplementations.java:390)
at org.elasticsearch.action.ActionListenerImplementations.safeAcceptException(ActionListenerImplementations.java:78)
at org.elasticsearch.action.ActionListenerImplementations.safeOnFailure(ActionListenerImplementations.java:89)
at org.elasticsearch.action.DelegatingActionListener.onFailure(DelegatingActionListener.java:32)
at org.elasticsearch.action.support.SubscribableListener$FailureResult.complete(SubscribableListener.java:415)
at org.elasticsearch.action.support.SubscribableListener.tryComplete(SubscribableListener.java:327)
at org.elasticsearch.action.support.SubscribableListener.addListener(SubscribableListener.java:219)
at org.elasticsearch.action.support.SubscribableListener.addListener(SubscribableListener.java:177)
at org.elasticsearch.indices.recovery.PeerRecoveryTargetService.doRecovery(PeerRecoveryTargetService.java:438)
at org.elasticsearch.indices.recovery.PeerRecoveryTargetService$RecoveryRunner.doRun(PeerRecoveryTargetService.java:767)
at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:1044)
at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:27)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1095)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:619)
at java.lang.Thread.run(Thread.java:1447)
Caused by: java.nio.file.AccessDeniedException: E:\elastic-data\indices\i1zYqbUBRwaSrS7RA76CCg\0\index\write.lock
at sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:89)
at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:103)
at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:108)
at sun.nio.fs.WindowsFileSystemProvider.newFileChannel(WindowsFileSystemProvider.java:118)
at java.nio.channels.FileChannel.open(FileChannel.java:301)
at java.nio.channels.FileChannel.open(FileChannel.java:353)
at org.apache.lucene.store.NativeFSLockFactory.obtainFSLock(NativeFSLockFactory.java:112)
at org.apache.lucene.store.FSLockFactory.obtainLock(FSLockFactory.java:43)
at org.apache.lucene.store.BaseDirectory.obtainLock(BaseDirectory.java:44)
at org.apache.lucene.store.FilterDirectory.obtainLock(FilterDirectory.java:106)
at org.apache.lucene.store.FilterDirectory.obtainLock(FilterDirectory.java:106)
at org.apache.lucene.store.FilterDirectory.obtainLock(FilterDirectory.java:106)
at org.elasticsearch.index.store.Store.cleanupAndVerify(Store.java:678)
at org.elasticsearch.indices.recovery.PeerRecoveryTargetService.lambda$doRecovery$9(PeerRecoveryTargetService.java:419)
at org.elasticsearch.action.ActionListenerImplementations$MappedActionListener.onResponse(ActionListenerImplementations.java:105)
at org.elasticsearch.action.support.SubscribableListener$SuccessResult.complete(SubscribableListener.java:403)
at org.elasticsearch.action.support.SubscribableListener.tryComplete(SubscribableListener.java:323)
at org.elasticsearch.action.support.SubscribableListener.addListener(SubscribableListener.java:219)
at org.elasticsearch.action.support.SubscribableListener.addListener(SubscribableListener.java:177)
at org.elasticsearch.action.support.SubscribableListener.lambda$andThenApply$2(SubscribableListener.java:537)
at org.elasticsearch.action.ActionListener.run(ActionListener.java:465)
at org.elasticsearch.action.support.SubscribableListener.newForked(SubscribableListener.java:135)
at org.elasticsearch.action.support.SubscribableListener.andThenApply(SubscribableListener.java:537)
at org.elasticsearch.indices.recovery.PeerRecoveryTargetService.doRecovery(PeerRecoveryTargetService.java:398)
... 6 more
], allocation_status[no_attempt]]]"""
}
]
},
{
"node_id": "hZhVpAyuQue0JnU7MVsEcQ",
"node_name": "data-25",
"transport_address": "10.30.4.25:9300",
"node_attributes": {
"ml.config_version": "12.0.0",
"xpack.installed": "true",
"transform.config_version": "10.0.0"
},
"roles": [
"data"
],
"node_decision": "no",
"deciders": [
{
"decider": "max_retry",
"decision": "NO",
"explanation": """shard has exceeded the maximum number of retries [5] on failed allocation attempts - manually call [POST /_cluster/reroute?retry_failed] to retry, and for more information, see [Diagnose unassigned shards | Elastic Docs] [unassigned_info[[reason=ALLOCATION_FAILED], at[2026-06-08T12:48:56.668Z], failed_attempts[5], failed_nodes[[hZhVpAyuQue0JnU7MVsEcQ, 1PV-iB06R9m7HOT-D1-LGA]], delayed=false, last_node[hZhVpAyuQue0JnU7MVsEcQ], details[failed shard on node [hZhVpAyuQue0JnU7MVsEcQ]: failed recovery, failure org.elasticsearch.indices.recovery.RecoveryFailedException: [.security-7][0]: Recovery failed from {data-38}{KAdKV6zrRY2e5k8-j4NlXw}{g9CVtkF6RNe-tJJBXZlHTQ}{data-38}{10.30.0.38}{10.30.0.38:9300}{d}{9.1.3}{8000099-9033000}{ml.config_version=12.0.0, transform.config_version=10.0.0, xpack.installed=true} into {data-25}{hZhVpAyuQue0JnU7MVsEcQ}{CqGfXCXGQRyAH3R1seZuKw}{data-25}{10.30.4.25}{10.30.4.25:9300}{d}{9.1.3}{8000099-9033000}{ml.config_version=12.0.0, xpack.installed=true, transform.config_version=10.0.0} (failed to prepare shard for recovery)
at org.elasticsearch.indices.recovery.PeerRecoveryTargetService.lambda$doRecovery$1(PeerRecoveryTargetService.java:296)
at org.elasticsearch.action.ActionListenerImplementations$DelegatingResponseActionListener.acceptException(ActionListenerImplementations.java:202)
at org.elasticsearch.action.ActionListenerImplementations.safeAcceptException(ActionListenerImplementations.java:78)
at org.elasticsearch.action.ActionListenerImplementations$DelegatingResponseActionListener.onFailure(ActionListenerImplementations.java:207)
at org.elasticsearch.action.ActionListenerImplementations.safeAcceptException(ActionListenerImplementations.java:78)
at org.elasticsearch.action.ActionListenerImplementations.safeOnFailure(ActionListenerImplementations.java:89)
at org.elasticsearch.action.DelegatingActionListener.onFailure(DelegatingActionListener.java:32)
at org.elasticsearch.action.ActionListenerImplementations$RunBeforeActionListener.onFailure(ActionListenerImplementations.java:360)
at org.elasticsearch.action.ActionListenerImplementations.safeAcceptException(ActionListenerImplementations.java:78)
at org.elasticsearch.action.ActionListenerImplementations.safeOnFailure(ActionListenerImplementations.java:89)
at org.elasticsearch.action.ActionListenerImplementations$NotifyOnceActionListener.onFailure(ActionListenerImplementations.java:390)
at org.elasticsearch.action.ActionListenerImplementations.safeAcceptException(ActionListenerImplementations.java:78)
at org.elasticsearch.action.ActionListenerImplementations.safeOnFailure(ActionListenerImplementations.java:89)
at org.elasticsearch.action.DelegatingActionListener.onFailure(DelegatingActionListener.java:32)
at org.elasticsearch.action.support.SubscribableListener$FailureResult.complete(SubscribableListener.java:415)
at org.elasticsearch.action.support.SubscribableListener.tryComplete(SubscribableListener.java:327)
at org.elasticsearch.action.support.SubscribableListener.addListener(SubscribableListener.java:219)
at org.elasticsearch.action.support.SubscribableListener.addListener(SubscribableListener.java:177)
at org.elasticsearch.indices.recovery.PeerRecoveryTargetService.doRecovery(PeerRecoveryTargetService.java:438)
at org.elasticsearch.indices.recovery.PeerRecoveryTargetService$RecoveryRunner.doRun(PeerRecoveryTargetService.java:767)
at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:1044)
at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:27)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1095)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:619)
at java.lang.Thread.run(Thread.java:1447)
Caused by: java.nio.file.AccessDeniedException: E:\elastic-data\indices\i1zYqbUBRwaSrS7RA76CCg\0\index\write.lock
at sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:89)
at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:103)
at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:108)
at sun.nio.fs.WindowsFileSystemProvider.newFileChannel(WindowsFileSystemProvider.java:118)
at java.nio.channels.FileChannel.open(FileChannel.java:301)
at java.nio.channels.FileChannel.open(FileChannel.java:353)
at org.apache.lucene.store.NativeFSLockFactory.obtainFSLock(NativeFSLockFactory.java:112)
at org.apache.lucene.store.FSLockFactory.obtainLock(FSLockFactory.java:43)
at org.apache.lucene.store.BaseDirectory.obtainLock(BaseDirectory.java:44)
at org.apache.lucene.store.FilterDirectory.obtainLock(FilterDirectory.java:106)
at org.apache.lucene.store.FilterDirectory.obtainLock(FilterDirectory.java:106)
at org.apache.lucene.store.FilterDirectory.obtainLock(FilterDirectory.java:106)
at org.elasticsearch.index.store.Store.cleanupAndVerify(Store.java:678)
at org.elasticsearch.indices.recovery.PeerRecoveryTargetService.lambda$doRecovery$9(PeerRecoveryTargetService.java:419)
at org.elasticsearch.action.ActionListenerImplementations$MappedActionListener.onResponse(ActionListenerImplementations.java:105)
at org.elasticsearch.action.support.SubscribableListener$SuccessResult.complete(SubscribableListener.java:403)
at org.elasticsearch.action.support.SubscribableListener.tryComplete(SubscribableListener.java:323)
at org.elasticsearch.action.support.SubscribableListener.addListener(SubscribableListener.java:219)
at org.elasticsearch.action.support.SubscribableListener.addListener(SubscribableListener.java:177)
at org.elasticsearch.action.support.SubscribableListener.lambda$andThenApply$2(SubscribableListener.java:537)
at org.elasticsearch.action.ActionListener.run(ActionListener.java:465)
at org.elasticsearch.action.support.SubscribableListener.newForked(SubscribableListener.java:135)
at org.elasticsearch.action.support.SubscribableListener.andThenApply(SubscribableListener.java:537)
at org.elasticsearch.indices.recovery.PeerRecoveryTargetService.doRecovery(PeerRecoveryTargetService.java:398)
... 6 more
], allocation_status[no_attempt]]]"""
}
]
}
]
}