# Upgrade issues unable to upgrade the mappings for the index, field name contains dot

**URL:** <https://discuss.elastic.co/t/upgrade-issues-unable-to-upgrade-the-mappings-for-the-index-field-name-contains-dot/171501>\
**Category:** Elasticsearch\
**Created:** [March 8, 2019, 1:25pm UTC](https://discuss.elastic.co/t/upgrade-issues-unable-to-upgrade-the-mappings-for-the-index-field-name-contains-dot/171501 "2019-03-08T13:25:16Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Vishal\_0611](https://avatars.discourse-cdn.com/v4/letter/v/a88e4f/32.png) [@Vishal\_0611](https://discuss.elastic.co/u/Vishal_0611)\
**Post date:** [March 8, 2019, 1:25pm UTC](https://discuss.elastic.co/t/upgrade-issues-unable-to-upgrade-the-mappings-for-the-index-field-name-contains-dot/171501/1 "2019-03-08T13:25:17Z")

</div>

Hi All,

Getting below error while restoring snapshot of 1.7 ES data on 2.4 ES:

{"error":{"root\_cause":[{"type":"snapshot\_restore\_exception","reason":"[my\_backup:snapshot\_20190213] cannot restore index [test\_09] because it cannot be upgraded"}],"type":"snapshot\_restore\_exception","reason":"[my\_backup:snapshot\_20190213] cannot restore index [test\_09] because it cannot be upgraded","caused\_by":{"type":"illegal\_state\_exception","reason":"unable to upgrade the mappings for the index [test\_09], reason: [Field name [dv.fullId] cannot contain '.']","caused\_by":{"type":"mapper\_parsing\_exception","reason":"Field name [dv.fullId] cannot contain '.'"}}},"status":500}

Our plan is to upgrade ES version from 1.7 -\> 2.4 -\> 5

Can someone please help provide pointers on fixing this issue?

Do I need to reindex or below setting can work?

export ES\_JAVA\_OPTS="-Dmapper.allow\_dots\_in\_name=true"

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [March 8, 2019, 1:47pm UTC](https://discuss.elastic.co/t/upgrade-issues-unable-to-upgrade-the-mappings-for-the-index-field-name-contains-dot/171501/2 "2019-03-08T13:47:56Z")

</div>

I'd try to reindex in a 6.6.1 cluster directly.

---

<div class="post-metadata">

**Author:** ![Vishal\_0611](https://avatars.discourse-cdn.com/v4/letter/v/a88e4f/32.png) [@Vishal\_0611](https://discuss.elastic.co/u/Vishal_0611)\
**Post date:** [March 10, 2019, 6:11am UTC](https://discuss.elastic.co/t/upgrade-issues-unable-to-upgrade-the-mappings-for-the-index-field-name-contains-dot/171501/3 "2019-03-10T06:11:49Z")

</div>

Hi Dadoonet,

Thanks for your response.

Do you mean we should setup 6.6.1 ES , restore snapshot & reindex? If yes, in that case how about restoring snapshot? I faced the error mentioned during snapshot restoration on 2.4 binaries. How can we reindex until data is restored.

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [March 10, 2019, 8:49am UTC](https://discuss.elastic.co/t/upgrade-issues-unable-to-upgrade-the-mappings-for-the-index-field-name-contains-dot/171501/4 "2019-03-10T08:49:40Z")

</div>

No. Just reindex from remote.

---

<div class="post-metadata">

**Author:** ![Vishal\_0611](https://avatars.discourse-cdn.com/v4/letter/v/a88e4f/32.png) [@Vishal\_0611](https://discuss.elastic.co/u/Vishal_0611)\
**Post date:** [March 10, 2019, 3:21pm UTC](https://discuss.elastic.co/t/upgrade-issues-unable-to-upgrade-the-mappings-for-the-index-field-name-contains-dot/171501/5 "2019-03-10T15:21:55Z")

</div>

Current version of ES is 1.7. So is it fine to directly jump on 6.6.1 and do reindex from remote?

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [March 10, 2019, 5:03pm UTC](https://discuss.elastic.co/t/upgrade-issues-unable-to-upgrade-the-mappings-for-the-index-field-name-contains-dot/171501/6 "2019-03-10T17:03:36Z")

</div>

At least I'd give it a try.

---

<div class="post-metadata">

**Author:** ![Vishal\_0611](https://avatars.discourse-cdn.com/v4/letter/v/a88e4f/32.png) [@Vishal\_0611](https://discuss.elastic.co/u/Vishal_0611)\
**Post date:** [March 17, 2019, 5:56am UTC](https://discuss.elastic.co/t/upgrade-issues-unable-to-upgrade-the-mappings-for-the-index-field-name-contains-dot/171501/7 "2019-03-17T05:56:28Z")

</div>

1.7 -\> 6.x did not work.

Further, we discussed this internally and decided to remove the filter [dv.fullId] causing error. Is it fine to remove the filter? We are assuming filter is used to speed up the searches in ES. Please confirm.

Also in parallel we tried, 1.7 -\> 5.x by removing the filter using reindex from remote and got the response as below:

_{"took":153859411,"timed\_out":false,"total":2844167,"updated":0,"created":2844167,"deleted":0,"batches":11389,"version\_conflicts":_  
_0,"noops":0,"retries":{"bulk":0,"search":0},"throttled\_millis":0,"requests\_per\_second":-_  
_1.0,"throttled\_until\_millis":0,"failures":[]}_

Shall I assume reindex from remote is successful?

Please update on both questions. Will be grateful.

P.S. I am newbie to ES and hence so many questions. Please bear with me

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [March 17, 2019, 6:31am UTC](https://discuss.elastic.co/t/upgrade-issues-unable-to-upgrade-the-mappings-for-the-index-field-name-contains-dot/171501/8 "2019-03-17T06:31:32Z")

</div>

It looks like you reindexed _2844167_ documents in the new cluster.

---

<div class="post-metadata">

**Author:** ![Vishal\_0611](https://avatars.discourse-cdn.com/v4/letter/v/a88e4f/32.png) [@Vishal\_0611](https://discuss.elastic.co/u/Vishal_0611)\
**Post date:** [March 17, 2019, 7:13am UTC](https://discuss.elastic.co/t/upgrade-issues-unable-to-upgrade-the-mappings-for-the-index-field-name-contains-dot/171501/9 "2019-03-17T07:13:00Z")

</div>

Ok. Shall I consider reindex from remote successful?

Also, calling API [http://170.21.237.102:9200/\_cat/indices](http://170.21.237.102:9200/_cat/indices) shows:

yellow open build\_v y4Al3flpRRy\_vtHUVfzDhw 5 1 559511147 0 237.2gb 237.2gb

How do I interpret this? What 'yellow' mean? Please help me explain all the fields

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [March 17, 2019, 7:32am UTC](https://discuss.elastic.co/t/upgrade-issues-unable-to-upgrade-the-mappings-for-the-index-field-name-contains-dot/171501/10 "2019-03-17T07:32:22Z")

</div>

Please format your code, logs or configuration files using `</>` icon as explained in [this guide](https://discuss.elastic.co/t/about-the-elasticsearch-category/21) and not the citation button. It will make your post more readable.

Or use markdown style like:

````
```
CODE
```

````

This is the icon to use if you are not using markdown format:

 ![image](https://us1.discourse-cdn.com/elastic/original/3X/7/e/7e6e239431ec2d71cbf1beef741f2e93e7cc762c.jpg)

There's a live preview panel for exactly this reasons.

Lots of people read these forums, and many of them will simply skip over a post that is difficult to read, because it's just too large an investment of their time to try and follow a wall of badly formatted text.  
If your goal is to get an answer to your questions, it's in your interest to make it as easy to read and understand as possible.  
Please update your post.

Try to add `?v` at the end. That will show the headers. For more details, look at the documentation where fields are explained.

Your cluster is yellow because you probably have only one node running. So replicas are not allocated.

---

<div class="post-metadata">

**Author:** ![Vishal\_0611](https://avatars.discourse-cdn.com/v4/letter/v/a88e4f/32.png) [@Vishal\_0611](https://discuss.elastic.co/u/Vishal_0611)\
**Post date:** [March 17, 2019, 11:24am UTC](https://discuss.elastic.co/t/upgrade-issues-unable-to-upgrade-the-mappings-for-the-index-field-name-contains-dot/171501/11 "2019-03-17T11:24:33Z")

</div>

> [@Vishal\_0611](#):
>
> yellow open build\_v y4Al3flpRRy\_vtHUVfzDhw 5 1 559511147 0 237.2gb 237.2gb

Thanks for response. Will take care henceforth.  
What the below output indicates (specially 0 after 559511147) ?

\< yellow open build\_v y4Al3flpRRy\_vtHUVfzDhw 5 1 559511147 0 237.2gb 237.2gb \>

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [March 17, 2019, 11:44am UTC](https://discuss.elastic.co/t/upgrade-issues-unable-to-upgrade-the-mappings-for-the-index-field-name-contains-dot/171501/12 "2019-03-17T11:44:20Z")

</div>

As you can see it's not formatted. Please fix it.  
And please do what I wrote:

> [@dadoonet](#):
>
> Try to add `?v` at the end. That will show the headers. For more details, look at the documentation where fields are explained.
> 
> Your cluster is yellow because you probably have only one node running. So replicas are not allocated.

---

<div class="post-metadata">

**Author:** ![Vishal\_0611](https://avatars.discourse-cdn.com/v4/letter/v/a88e4f/32.png) [@Vishal\_0611](https://discuss.elastic.co/u/Vishal_0611)\
**Post date:** [March 18, 2019, 6:06am UTC](https://discuss.elastic.co/t/upgrade-issues-unable-to-upgrade-the-mappings-for-the-index-field-name-contains-dot/171501/13 "2019-03-18T06:06:50Z")

</div>

Ok. Thanks for confirmation.

One more query, when we restore 1.7 elasticsearch data on 5.6 does index size increases? As per my observation, we did reindex from remote (1.7 -\> 5.6). After reindex completed we see number of documents same on both but store.size increased.

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [March 18, 2019, 8:25am UTC](https://discuss.elastic.co/t/upgrade-issues-unable-to-upgrade-the-mappings-for-the-index-field-name-contains-dot/171501/14 "2019-03-18T08:25:47Z")

</div>

It may increase. We are not using fielddata anymore (memory) but doc values (disk) for example.

---

<div class="post-metadata">

**Author:** ![Vishal\_0611](https://avatars.discourse-cdn.com/v4/letter/v/a88e4f/32.png) [@Vishal\_0611](https://discuss.elastic.co/u/Vishal_0611)\
**Post date:** [March 18, 2019, 4:43pm UTC](https://discuss.elastic.co/t/upgrade-issues-unable-to-upgrade-the-mappings-for-the-index-field-name-contains-dot/171501/15 "2019-03-18T16:43:23Z")

</div>

Do you mean in 1.7 if there are any field data that got converted into doc values?

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [March 18, 2019, 4:55pm UTC](https://discuss.elastic.co/t/upgrade-issues-unable-to-upgrade-the-mappings-for-the-index-field-name-contains-dot/171501/16 "2019-03-18T16:55:00Z")

</div>

I mean that if you have in your mapping a `keyword` data type, it's using `doc_values` where `string` data type was using `fielddata`. Check your mapping.

---

<div class="post-metadata">

**Author:** ![Vishal\_0611](https://avatars.discourse-cdn.com/v4/letter/v/a88e4f/32.png) [@Vishal\_0611](https://discuss.elastic.co/u/Vishal_0611)\
**Post date:** [March 22, 2019, 8:23am UTC](https://discuss.elastic.co/t/upgrade-issues-unable-to-upgrade-the-mappings-for-the-index-field-name-contains-dot/171501/17 "2019-03-22T08:23:41Z")

</div>

Thanks dadoonet for all the help in resolving my queries.

One more question is what is filter in elasticsearch? Is it intended for performance improvement?

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [March 22, 2019, 9:14am UTC](https://discuss.elastic.co/t/upgrade-issues-unable-to-upgrade-the-mappings-for-the-index-field-name-contains-dot/171501/18 "2019-03-22T09:14:09Z")

</div>

A filter is more performant than a query as you don't have to score the documents which means that filter results can be cached.

---

<div class="post-metadata">

**Author:** ![Vishal\_0611](https://avatars.discourse-cdn.com/v4/letter/v/a88e4f/32.png) [@Vishal\_0611](https://discuss.elastic.co/u/Vishal_0611)\
**Post date:** [March 22, 2019, 1:13pm UTC](https://discuss.elastic.co/t/upgrade-issues-unable-to-upgrade-the-mappings-for-the-index-field-name-contains-dot/171501/19 "2019-03-22T13:13:34Z")

</div>

So I can say its for performance enhancement. So application functionality wil not break if I remove the filter. Correct?

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [March 22, 2019, 1:42pm UTC](https://discuss.elastic.co/t/upgrade-issues-unable-to-upgrade-the-mappings-for-the-index-field-name-contains-dot/171501/20 "2019-03-22T13:42:30Z")

</div>

I'm not sure I understand. Could explain with a concrete example what do you mean?

[Next page](https://discuss.elastic.co/t/upgrade-issues-unable-to-upgrade-the-mappings-for-the-index-field-name-contains-dot/171501.md?page=2)
