Magento 2 : Fixing Elasticsearch's "TOO_MANY_REQUESTS/12" Error: Flood-Stage Disk Usage

Fiko BorizqyFiko Borizqy
2 min read

During a recent Magento 2.4.4 development sprint, I ran into a puzzling indexing error that might look familiar to fellow devs working with Elasticsearch:

Catalog Search index process error during indexation process:
index [magento244p13_product_1_v1] blocked by: [TOO_MANY_REQUESTS/12/disk usage exceeded flood-stage watermark, index has read-only-allow-delete block]

In plain terms: Elasticsearch panicked because disk usage passed the flood-stage watermark (typically 95%), so it slammed the brakes and marked the index as read-only. Magento couldn’t update the index because of it.

Here’s how I solved it, step-by-step.

Step 1: Check Disk Usage

First, I ran:

bash

df -h

Sure enough, my disk space was on the brink. A quick cleanup of old logs and unused packages brought it under control.

Step 2: Clear the Read-Only Block

After freeing space, I lifted the restriction on all indexes with:

bash

curl -XPUT -H "Content-Type: application/json" \
  http://localhost:9200/_all/_settings \
  -d '{"index.blocks.read_only_allow_delete": null}'

In stubborn cases, this broader setting can help:

bash

curl -XPUT -H "Content-Type: application/json" \
  http://localhost:9200/_cluster/settings \
  -d '{
    "transient": {
      "cluster.routing.allocation.disk.threshold_enabled": false
    }
  }'

Step 3: Reindex Magento

With the block removed, I ran:

bash

bin/magento indexer:reindex

And this time—no errors. Clean as a whistle.

Takeaway: Keep a close eye on your Elasticsearch node’s disk usage—especially in local or staging environments with limited storage. Flood-stage blocks are protective but disruptive. This simple reset can save hours of head-scratching.

0
Subscribe to my newsletter

Read articles from Fiko Borizqy directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Fiko Borizqy
Fiko Borizqy

I wrote these tutorials for myself in future when I forget for the next steps.