原因と解決方法
開発環境で、Opensearchにデータをインサートしていたのですが、途中で失敗し、
TOO_MANY_REQUESTS/12/disk usage exceeded flood-stage watermark, index has read-only-allow-delete block
というエラーが発生しました。
そのままの通り、ディスク容量が足りずに失敗したのですが、dfコマンドで容量を確認し、80%ほどでデータを入れる余裕はありそうでした。
調べてみると、Elasticsearchではデフォルトで90%がディスクの最大値と設定されているようでした。
設定で、watermark.highをいじる方法もありますが、今回はサーバーの容量を空けることで問題を回避しました。
解決までのメモ
ここからは自分の環境で行ったことをメモとして残します。
開発はUbuntuで、Dokcerを使用して環境を構築していたため、Volumeやimageの削除を行いました。
docker image prune
や
docker container prune
では問題が解決できず、
docker system df
コマンドで、Local Volumesが肥大化していることが原因だとわかりました。
なので、docker-compose down でコンテナを落としてからdocker volume prune
コマンドを実行で容量に空きができ、解決しました。