Failed to send ILM history item to index %s %s – How to solve this Elasticsearch error

Opster Team

Aug-23, Version: 8.7-8.9

Briefly, this error occurs when Elasticsearch is unable to send Index Lifecycle Management (ILM) history items to a specific index. This could be due to issues like insufficient permissions, network problems, or the index being read-only. To resolve this, you can check and adjust the user permissions, ensure the network connectivity is stable, and verify that the index is not set to read-only. Additionally, check the Elasticsearch logs for more detailed error messages that can help pinpoint the exact issue.

This guide will help you check for common problems that cause the log ” failed to send ILM history item to index [%s]: [%s] ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: plugin, index.

Log Context

Log “failed to send ILM history item to index [%s]: [%s]” classname is
We extracted the following from Elasticsearch source code for those seeking an in-depth context :

        try (XContentBuilder builder = XContentFactory.jsonBuilder()) {
            item.toXContent(builder; ToXContent.EMPTY_PARAMS);
            IndexRequest request = new IndexRequest(ILM_HISTORY_DATA_STREAM).source(builder).opType(DocWriteRequest.OpType.CREATE);
        } catch (Exception e) {
            logger.error(() -> format("failed to send ILM history item to index [%s]: [%s]"; ILM_HISTORY_DATA_STREAM; item); e);

    public void close() {