# Index writer memory Continue to rise

**URL:** https://discuss.elastic.co/t/index-writer-memory-continue-to-rise/213514
**Category:** Elasticsearch
**Created:** [January 2, 2020, 6:36am UTC](https://discuss.elastic.co/t/index-writer-memory-continue-to-rise/213514 "2020-01-02T06:36:30Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![ITzhangqiang](https://avatars.discourse-cdn.com/v4/letter/i/2bfe46/32.png) [@ITzhangqiang](https://discuss.elastic.co/u/ITzhangqiang)
#### Post date: [January 2, 2020, 6:36am UTC](https://discuss.elastic.co/t/index-writer-memory-continue-to-rise/213514/1 "2020-01-02T06:36:30Z")

</div>

hi，all：  
I have a question that has puzzled me for a long time。  
One node in the cluster has too much index writer memory (other node is fline), and it keeps going up,and it lead to index throttling .

 ![image](https://us1.discourse-cdn.com/elastic/original/3X/7/5/7565e13a45dc17f0928b2d557b88bfa2f73b2a1f.png)  
And then I adjusted index.refresh.interval from 30s to 10s , but  
the situation has not improved much。  
I also found this issued node's refresh queue has a large back-up，  
 ![image](https://us1.discourse-cdn.com/elastic/original/3X/2/3/23cc1fdf8c13844234271744f3f4594acc89f20c.png)  
why index writer cost so much memory?I found nothing in log  
As index writer memory continues to rise，in the end will lead to the exccption: “org.elasticsearch.common.breaker.CircuitBreakingException: [parent] Data too large, data for [\<transport\_request\>] would be [33137445694/30.8gb], which is larger than the limit of [31621696716/29.4gb]”

elasticsearch version ：7.4.0  
jvm heap：31G

could you help me analyze this problem ?@DavidTurner

---

<div class="post-metadata">

### Author: ![Armin\_Braun](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/armin_braun/32/20092_2.png) [@Armin\_Braun](https://discuss.elastic.co/u/Armin_Braun)
#### Post date: [January 2, 2020, 7:31am UTC](https://discuss.elastic.co/t/index-writer-memory-continue-to-rise/213514/2 "2020-01-02T07:31:50Z")

</div>

Hi @ITzhangqiang

Are you triggering refreshes manually at a high rate somehow? (it certainly looks like it).  
Maybe those refreshes only trigger shards residing on `es-data-8` causing it to become overloaded and unable to flush its index writers.

Can you check the (tasks API)[[https://www.elastic.co/guide/en/elasticsearch/reference/current/tasks.html#tasks-api-examples](https://www.elastic.co/guide/en/elasticsearch/reference/current/tasks.html#tasks-api-examples)] for `es-data-8` and share the results? That should help figure out where those refreshes are coming from I think.

---

<div class="post-metadata">

### Author: ![ITzhangqiang](https://avatars.discourse-cdn.com/v4/letter/i/2bfe46/32.png) [@ITzhangqiang](https://discuss.elastic.co/u/ITzhangqiang)
#### Post date: [January 2, 2020, 8:07am UTC](https://discuss.elastic.co/t/index-writer-memory-continue-to-rise/213514/3 "2020-01-02T08:07:50Z")

</div>

> [@Armin\_Braun](#):
>
> That should help figure out where those refreshes are coming from I think.

Thank you for your reply，  
I don't refresh index manually,I use logstash transport data from kafka to elasticsearch.  
and I use logstash double writer data to es6.3 cluster and es7.4 cluster, es6.3 cluster never happend this problem。  
Because of es-data-8 node's memory reached 95% of heap size(lead to CircuitBreakingException )，so task API can't return correct result .(Execption：[circuit\_breaking\_exception] [parent] Data too large, data for [\<http\_request\>] would be [32273530784/30gb], which is larger than the limit of [31621696716/29.4gb])

I use task API try many time，return bellow result（i think it is incomplete，previous it can return many refresh task ）

 ![image](https://us1.discourse-cdn.com/elastic/original/3X/7/9/79cd5e87241b2f2e490cde0ccb25625ce04583ba.png)

Another information：I check shard on data8, most index shard is evenly distributed to all nodes，so index refresh will happen in all node

---

<div class="post-metadata">

### Author: ![Armin\_Braun](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/armin_braun/32/20092_2.png) [@Armin\_Braun](https://discuss.elastic.co/u/Armin_Braun)
#### Post date: [January 2, 2020, 11:22am UTC](https://discuss.elastic.co/t/index-writer-memory-continue-to-rise/213514/4 "2020-01-02T11:22:56Z")

</div>

Thanks for the tasks list @ITzhangqiang

it looks like the refresh is stuck/dead-locked somehow (it's running for 16h+ already!). That seems to be the problem. Can you take a thread-dump on `data8`, so we can start tracking down why/where it dead-locked maybe?

Thanks!

---

<div class="post-metadata">

### Author: ![ITzhangqiang](https://avatars.discourse-cdn.com/v4/letter/i/2bfe46/32.png) [@ITzhangqiang](https://discuss.elastic.co/u/ITzhangqiang)
#### Post date: [January 2, 2020, 11:46am UTC](https://discuss.elastic.co/t/index-writer-memory-continue-to-rise/213514/5 "2020-01-02T11:46:04Z")

</div>

unfortunately, I deployed the cluster on Kubernetes，in docker container，i cat run jstack。 😭

 ![image](https://us1.discourse-cdn.com/elastic/original/3X/f/e/fe1a247a462ea0b3b3f4a199ac08b59dd6e20a87.png)  
Do you know how to set it up

---

<div class="post-metadata">

### Author: ![Armin\_Braun](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/armin_braun/32/20092_2.png) [@Armin\_Braun](https://discuss.elastic.co/u/Armin_Braun)
#### Post date: [January 2, 2020, 11:53am UTC](https://discuss.elastic.co/t/index-writer-memory-continue-to-rise/213514/6 "2020-01-02T11:53:39Z")

</div>

@ITzhangqiang

it should work fine using `nsenter` into the Docker container. The easiest way of doing that, that I know of is [https://github.com/jpetazzo/nsenter](https://github.com/jpetazzo/nsenter) (unless you have `nsenter` properly working already and know how to do it :)) That should allow you to `jstack` just fine without permission issues.

---

<div class="post-metadata">

### Author: ![ITzhangqiang](https://avatars.discourse-cdn.com/v4/letter/i/2bfe46/32.png) [@ITzhangqiang](https://discuss.elastic.co/u/ITzhangqiang)
#### Post date: [January 2, 2020, 12:12pm UTC](https://discuss.elastic.co/t/index-writer-memory-continue-to-rise/213514/7 "2020-01-02T12:12:51Z")

</div>

thank you very much,I already restart es-data-8,and cluster's health is recoverd green.so thread dump can't tracking the issue. but i think this problem will happen again. if happen ,I will notice you.  
Thank you once again!

---

<div class="post-metadata">

### Author: ![ITzhangqiang](https://avatars.discourse-cdn.com/v4/letter/i/2bfe46/32.png) [@ITzhangqiang](https://discuss.elastic.co/u/ITzhangqiang)
#### Post date: [January 3, 2020, 8:54am UTC](https://discuss.elastic.co/t/index-writer-memory-continue-to-rise/213514/8 "2020-01-03T08:54:53Z")

</div>

Hi， another node happen this problem  
 ![image](https://us1.discourse-cdn.com/elastic/original/3X/a/3/a34588abf6263427505c81acd2ea77e0633549bd.png)

 ![image](https://us1.discourse-cdn.com/elastic/original/3X/5/5/555969086062d4334bd4baef99e78a607e07a8c0.png)

I check the jstack file ，found：locked \<0x000000128539b510\>

 ![image](https://us1.discourse-cdn.com/elastic/original/3X/0/e/0e1e7407a2561eaafc3ffca45d09287dcaf00121.png)  
@Armin_Braun

---

<div class="post-metadata">

### Author: ![Armin\_Braun](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/armin_braun/32/20092_2.png) [@Armin\_Braun](https://discuss.elastic.co/u/Armin_Braun)
#### Post date: [January 3, 2020, 9:41am UTC](https://discuss.elastic.co/t/index-writer-memory-continue-to-rise/213514/9 "2020-01-03T09:41:17Z")

</div>

@ITzhangqiang can you provide the full jstack file here so I can take a look?

---

<div class="post-metadata">

### Author: ![ITzhangqiang](https://avatars.discourse-cdn.com/v4/letter/i/2bfe46/32.png) [@ITzhangqiang](https://discuss.elastic.co/u/ITzhangqiang)
#### Post date: [January 3, 2020, 9:59am UTC](https://discuss.elastic.co/t/index-writer-memory-continue-to-rise/213514/10 "2020-01-03T09:59:05Z")

</div>

Thankyou for your reply：

I run jstack twice，all found same blocked thread。

I found many node happen this problem。

![]()

在 2020-01-03 17:51:23，"Armin Braun via Discuss the Elastic Stack" [elastic@discoursemail.com](mailto:elastic@discoursemail.com) 写道：

![image.png](https://us1.discourse-cdn.com/elastic/original/3X/2/1/214bae8d03bd54a7c26281a336eaf74a64da8007.png)

(Attachment jstack06\_2 is missing)

(Attachment jstack06 is missing)

---

<div class="post-metadata">

### Author: ![ITzhangqiang](https://avatars.discourse-cdn.com/v4/letter/i/2bfe46/32.png) [@ITzhangqiang](https://discuss.elastic.co/u/ITzhangqiang)
#### Post date: [January 3, 2020, 10:02am UTC](https://discuss.elastic.co/t/index-writer-memory-continue-to-rise/213514/11 "2020-01-03T10:02:39Z")

</div>

![]()

I receive this info ，can't upload file

在 2020-01-03 17:51:23，"Armin Braun via Discuss the Elastic Stack" [elastic@discoursemail.com](mailto:elastic@discoursemail.com) 写道：

 ![image.png](https://us1.discourse-cdn.com/elastic/original/3X/9/8/980e063991d0dfc400a5fa3c775d69d6d93e6848.png)

---

<div class="post-metadata">

### Author: ![Armin\_Braun](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/armin_braun/32/20092_2.png) [@Armin\_Braun](https://discuss.elastic.co/u/Armin_Braun)
#### Post date: [January 3, 2020, 10:08am UTC](https://discuss.elastic.co/t/index-writer-memory-continue-to-rise/213514/12 "2020-01-03T10:08:55Z")

</div>

@ITzhangqiang

can you upload the jstack files to e.g. [https://pastebin.com](https://pastebin.com) maybe and link them here? That should work fine 🙂

---

<div class="post-metadata">

### Author: ![nhat](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/nhat/32/22170_2.png) [@nhat](https://discuss.elastic.co/u/nhat)
#### Post date: [January 3, 2020, 5:41pm UTC](https://discuss.elastic.co/t/index-writer-memory-continue-to-rise/213514/13 "2020-01-03T17:41:24Z")

</div>

I believe those refreshes are queued up by IndexingMemoryController. I will take a closer look.

---

<div class="post-metadata">

### Author: ![ITzhangqiang](https://avatars.discourse-cdn.com/v4/letter/i/2bfe46/32.png) [@ITzhangqiang](https://discuss.elastic.co/u/ITzhangqiang)
#### Post date: [January 9, 2020, 6:36am UTC](https://discuss.elastic.co/t/index-writer-memory-continue-to-rise/213514/14 "2020-01-09T06:36:03Z")

</div>

hi,  
@nhat  
@Armin_Braun  
I'm sorry to bother you, That's still the question that elastic search 7.4 always have some node which index writer hold too many memory.I believe this is a big issue. （es 6.3 never find this issue for a year）Help me to find what the reason behind！We must solve this problem！

 ![image](https://us1.discourse-cdn.com/elastic/original/3X/3/9/39484c9b3cca67a0dee9dc1d5306b4ef82166970.png)

---

<div class="post-metadata">

### Author: ![nhat](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/nhat/32/22170_2.png) [@nhat](https://discuss.elastic.co/u/nhat)
#### Post date: [January 9, 2020, 1:57pm UTC](https://discuss.elastic.co/t/index-writer-memory-continue-to-rise/213514/15 "2020-01-09T13:57:09Z")

</div>

@ITzhangqiang No worries, we are here to help. Can you share the shard-level stats of your cluster (`GET /_stats?level=shards`)?

---

<div class="post-metadata">

### Author: ![nhat](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/nhat/32/22170_2.png) [@nhat](https://discuss.elastic.co/u/nhat)
#### Post date: [January 10, 2020, 2:35am UTC](https://discuss.elastic.co/t/index-writer-memory-continue-to-rise/213514/16 "2020-01-10T02:35:48Z")

</div>

@ITzhangqiang I have merged [https://github.com/elastic/elasticsearch/pull/50769](https://github.com/elastic/elasticsearch/pull/50769), which should avoid flooding the refresh thread pool.

---

<div class="post-metadata">

### Author: ![ITzhangqiang](https://avatars.discourse-cdn.com/v4/letter/i/2bfe46/32.png) [@ITzhangqiang](https://discuss.elastic.co/u/ITzhangqiang)
#### Post date: [January 10, 2020, 5:30am UTC](https://discuss.elastic.co/t/index-writer-memory-continue-to-rise/213514/17 "2020-01-10T05:30:05Z")

</div>

Thank you very much,  
@nhat  
I found index writer's abnormal mabye related to some special index.  
see the index below：

 ![image](https://us1.discourse-cdn.com/elastic/original/3X/3/c/3c63e2570da0f5cf991302ff8c21dd9fc4e4338f.png)

This index cause data-09 node's writer memory abnormal，see data-09 node below：

 ![image](https://us1.discourse-cdn.com/elastic/original/3X/9/2/925efc3677ce52f6de86508cef48e24c568048e6.png)  
 ![image](https://us1.discourse-cdn.com/elastic/original/3X/9/0/904d9b7f03540b32ee6d882ff2f35c976aceaaf4.png)

I check shard on this index ,found one shard hold a big index writer memory:

 ![image](https://us1.discourse-cdn.com/elastic/original/3X/c/5/c599f78b4db84e45db0ac3e425a4e85597d537d7.png)  
 ![image](https://us1.discourse-cdn.com/elastic/original/3X/b/f/bf5d81e4b7a1ee82b5ca35e518d4be3e34a4e3ed.png)

I upload data-09 jstack file and this abnormal index's shard detail state

> **[ITzhangqiang/test\_Elasticsearch7.4](https://github.com/ITzhangqiang/test_Elasticsearch7.4/tree/master/2020-01-10)**
>
> some problem about es7.4. Contribute to ITzhangqiang/test\_Elasticsearch7.4 development by creating an account on GitHub.

---

<div class="post-metadata">

### Author: ![nhat](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/nhat/32/22170_2.png) [@nhat](https://discuss.elastic.co/u/nhat)
#### Post date: [January 11, 2020, 4:49pm UTC](https://discuss.elastic.co/t/index-writer-memory-continue-to-rise/213514/18 "2020-01-11T16:49:35Z")

</div>

Hi @ITzhangqiang,

> "uncommitted\_size\_in\_bytes" : 12605908804

The uncommitted translog should not go above 512MB per shard by default. Did you change any translog setting? Can you share the logs from the node data-09?

One theory that I have is that the throttling does not work well. Can you add  
`-Des.index.memory.max_index_buffer_size=256mb` to `config/jvm.options` on some nodes then restart them. Please let me know if the problem goes away on those nodes. Thank you.

---

<div class="post-metadata">

### Author: ![ITzhangqiang](https://avatars.discourse-cdn.com/v4/letter/i/2bfe46/32.png) [@ITzhangqiang](https://discuss.elastic.co/u/ITzhangqiang)
#### Post date: [January 13, 2020, 2:43am UTC](https://discuss.elastic.co/t/index-writer-memory-continue-to-rise/213514/19 "2020-01-13T02:43:17Z")

</div>

Hi @nhat  
Most of index ，I changed translog settings：  
"translog" : {  
"sync\_interval" : "60s",  
"durability" : "async",  
"flush\_threshold\_size": "1gb"  
}  
I think I have found the problem.I checked the abnormal index carefully. Found I manually specify  
the "document\_id" field,but index data is problematic frequently,lead to millions of "document\_id" are same ,so documents keep updating .  
(as I see in the jstack file ,most of write thread is waiting “doc\_id lock” ：  
`at org.elasticsearch.index.engine.LiveVersionMap.acquireLock(LiveVersionMap.java:473) at org.elasticsearch.index.engine.InternalEngine.index(InternalEngine.java:856)`) .  
It's the problematic index that lead to those issue："index writer memory rise","write queue rise".

After I change the problematic index ,everything is back to normal.  
Thank you very much for your help during this period.  
Thanks again!

---

<div class="post-metadata">

### Author: ![nhat](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/nhat/32/22170_2.png) [@nhat](https://discuss.elastic.co/u/nhat)
#### Post date: [January 13, 2020, 1:43pm UTC](https://discuss.elastic.co/t/index-writer-memory-continue-to-rise/213514/20 "2020-01-13T13:43:38Z")

</div>

@ITzhangqiang Glad to hear that the problem was solved. You're welcome and thank you for collaborating.

[Next page](https://discuss.elastic.co/t/index-writer-memory-continue-to-rise/213514.md?page=2)
