searchkick resource_already_exists_exception

searchkick-resource-already-exists-exception

Yesterday, I worked on elasticsearch integration with help of searchkick.

I did several times adding searchkick to Rails projects but never got this error before:

`__raise_transport_error': [400] {"error":{"root_cause":[{"type":"resource_already_exists_exception","reason":"index [house_development_20240902225059955/3Jvd0sYAT46lRDc8O-CgDQ] already exists"

This error was raised when I ran

MyModel.reindex

From the error description, I can say the problem is index already exists and failed to recreate the index. So I tried to delete the index using curl,

show all indexes.

curl http://elastic:ELASTICSEARCH_PASSSWORD@127.0.0.1:9200/_aliases?pretty=true

delete index.

curl -X DELETE http://elastic:CbHBbB9PS5xYB5RdOTQP@127.0.0.1:9200/house_development_20240902225059955

After that, then I tried to call MyModel.reindex again, but the same error still happened.

Then I tried to check the elasticsearch server log and got this:

high disk watermark [90%] exceeded on [WPlL99sKQ7CnX59V0PiC-Q][cc376a2237d1][/usr/share/elasticsearch/data] free: 47.2gb[9.9%], shards will be relocated away from this node; currently relocating away shards totalling [0] bytes; the node is expected to continue to exceed the high disk watermark when these relocations are complete

After googling, I found this SO question, and just tried to change threshold_enabled that made indexing back to work.

curl -XPUT "http://elastic:ELASTICSEARCH_PASSSWORD@127.0.0.1:9200/_cluster/settings" 
 -H 'Content-Type: application/json' -d'
{
  "persistent": {
    "cluster": {
      "routing": {
        "allocation.disk.threshold_enabled": false
      }
    }
  }
}'

Hope this helps for you.

Total
0
Shares
Leave a Reply

Your email address will not be published. Required fields are marked *

Previous Post
pessimistic-locking,-read-committed,-and-all-isolation-levels

Pessimistic locking, Read Committed, and all Isolation Levels

Next Post
implement-react-v18-from-scratch-using-wasm-and-rust-–-[24]-suspense(1)-–-render-fallback

Implement React v18 from Scratch Using WASM and Rust – [24] Suspense(1) – Render Fallback

Related Posts