# \[Tribe\] ghost indices on tribes

**URL:** <https://discuss.elastic.co/t/tribe-ghost-indices-on-tribes/56123>\
**Category:** Elasticsearch\
**Created:** [July 21, 2016, 5:13pm UTC](https://discuss.elastic.co/t/tribe-ghost-indices-on-tribes/56123 "2016-07-21T17:13:49Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![jeancornic](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/jeancornic/32/10215_2.png) [@jeancornic](https://discuss.elastic.co/u/jeancornic)\
**Post date:** [July 21, 2016, 5:13pm UTC](https://discuss.elastic.co/t/tribe-ghost-indices-on-tribes/56123/1 "2016-07-21T17:13:49Z")

</div>

Hello,

Using tribe nodes on ES 1.7.5, we experienced some unexpected behavior.  
How to reproduce:

```bash
# Create 2 clusters + 1 tribe
bin/elasticsearch --cluster.name ldn
bin/elasticsearch --cluster.name hk
bin/elasticsearch --tribe.ldn.cluster.name ldn --tribe.hk.cluster.name hk

# On ldn
curl -XPUT localhost:9200/conflict_index

# On hk
curl -XPUT localhost:9201/conflict_index

# conflict_index is visible on tribe node, from tribe ldn
curl localhost:9202/conflict_index?pretty

# Delete index on ldn tribe
curl -XDELETE localhost:9200/conflict_index

```

When getting index on tribe (`curl localhost:9202/conflict_index?pretty`), we get an IndexMissingException. The tribe node does not see any index, when there is one on tribe 2.

Is this indeed a bug?

Regards,

Jean

---

<div class="post-metadata">

**Author:** ![javanna](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/javanna/32/4698_2.png) [@javanna](https://discuss.elastic.co/u/javanna)\
**Post date:** [July 28, 2016, 1:49pm UTC](https://discuss.elastic.co/t/tribe-ghost-indices-on-tribes/56123/2 "2016-07-28T13:49:51Z")

</div>

The way the tribe node works is that it listens to cluster state updates from all tribes and updates its own internal cluster state, which is a merge of all the information it ever received. The problem with same index names on multiple tribes, is that the tribe node can only know about one. So either you set the `on_conflict` setting to instruct the tribe node on which one to keep, or it will choose either one of the two.

The problem is that if you then delete that one index that the tribe node sees, the deletion will be propagated to the tribe node. At that point the tribe node doesn't know about the other index with same name on the other tribe, as that cluster state update was received and previously rejected . That index will not come back then, although it would be seen if it was re-created at that time.

Have a look at the docs to know how to set up the on\_conflict setting if needed: [https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-tribe.html](https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-tribe.html) .

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 5, 2017, 10:32pm UTC](https://discuss.elastic.co/t/tribe-ghost-indices-on-tribes/56123/3 "2017-07-05T22:32:03Z")

</div>


