# 502 Timeout with Delete by query

**URL:** <https://discuss.elastic.co/t/502-timeout-with-delete-by-query/357053>\
**Category:** Elasticsearch\
**Created:** [April 9, 2024, 10:40am UTC](https://discuss.elastic.co/t/502-timeout-with-delete-by-query/357053 "2024-04-09T10:40:13Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Musled](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/musled/32/131077_2.png) [@Musled](https://discuss.elastic.co/u/Musled)\
**Post date:** [April 9, 2024, 10:40am UTC](https://discuss.elastic.co/t/502-timeout-with-delete-by-query/357053/1 "2024-04-09T10:40:13Z")

</div>

Hello there !

I have a problem when I run this query:

```auto
`POST /logs-nginx.cpcu.prod/_delete_by_query

{

  "query": {

    "range": {

      "@timestamp": {

        "lt": "now-30d"

      }

    }

  }

}

```

Basically I would like to delete documents older than 30 days present in one of my indices without deleting the index. But I have a 502 timeout error.  
Do you have an idea ?

---

<div class="post-metadata">

**Author:** ![DavidTurner](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/davidturner/32/22453_2.png) [@DavidTurner](https://discuss.elastic.co/u/DavidTurner)\
**Post date:** [April 9, 2024, 10:53am UTC](https://discuss.elastic.co/t/502-timeout-with-delete-by-query/357053/2 "2024-04-09T10:53:58Z")

</div>

Elasticsearch never returns 502, so this response must be coming from something else. Send the request directly to Elasticsearch instead.

---

<div class="post-metadata">

**Author:** ![Musled](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/musled/32/131077_2.png) [@Musled](https://discuss.elastic.co/u/Musled)\
**Post date:** [April 9, 2024, 11:18am UTC](https://discuss.elastic.co/t/502-timeout-with-delete-by-query/357053/3 "2024-04-09T11:18:22Z")

</div>

`{

"statusCode": 502,

"error": "Bad Gateway",

"message": "Client request timeout"

}`  
I entered this request in dev tools, maybe it's kibana which returns the error. But from what I see it's a timeout problem. Do you know if I can configure the timeout duration in the request?

---

<div class="post-metadata">

**Author:** ![Musled](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/musled/32/131077_2.png) [@Musled](https://discuss.elastic.co/u/Musled)\
**Post date:** [April 9, 2024, 11:26am UTC](https://discuss.elastic.co/t/502-timeout-with-delete-by-query/357053/4 "2024-04-09T11:26:58Z")

</div>

```auto
`{

"statusCode": 502,

"error": "Bad Gateway",

"message": "Client request timeout"

}`

```

---

<div class="post-metadata">

**Author:** ![DavidTurner](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/davidturner/32/22453_2.png) [@DavidTurner](https://discuss.elastic.co/u/DavidTurner)\
**Post date:** [April 9, 2024, 11:33am UTC](https://discuss.elastic.co/t/502-timeout-with-delete-by-query/357053/5 "2024-04-09T11:33:51Z")

</div>

> [@Musled](#):
>
> Do you know if I can configure the timeout duration in the request?

It's not Elasticsearch which is timing out so there's no Elasticsearch configuration change that will help here. If it's Kibana then I expect it is indeed configurable, it'd be best to ask in the [Kibana forum](https://discuss.elastic.co/c/elastic-stack/kibana/7) for help with that.

---

<div class="post-metadata">

**Author:** ![Christian\_Dahlqvist](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/christian_dahlqvist/32/4617_2.png) [@Christian\_Dahlqvist](https://discuss.elastic.co/u/Christian_Dahlqvist)\
**Post date:** [April 9, 2024, 11:39am UTC](https://discuss.elastic.co/t/502-timeout-with-delete-by-query/357053/6 "2024-04-09T11:39:51Z")

</div>

Where is your Elasticsearch cluster deployed? Do you have any load balancer or proxy between Kibana and Elasticsearch?

---

<div class="post-metadata">

**Author:** ![Musled](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/musled/32/131077_2.png) [@Musled](https://discuss.elastic.co/u/Musled)\
**Post date:** [April 9, 2024, 2:32pm UTC](https://discuss.elastic.co/t/502-timeout-with-delete-by-query/357053/7 "2024-04-09T14:32:03Z")

</div>

My cluster is deployed on an AWS EC2 and containerized with Docker. I have a proxy that is initialized on rancher. When i try to delete\_by\_query another indice, it works. Maybe the problem is that the indices are too large

---

<div class="post-metadata">

**Author:** ![DavidTurner](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/davidturner/32/22453_2.png) [@DavidTurner](https://discuss.elastic.co/u/DavidTurner)\
**Post date:** [April 9, 2024, 2:43pm UTC](https://discuss.elastic.co/t/502-timeout-with-delete-by-query/357053/8 "2024-04-09T14:43:15Z")

</div>

> [@Musled](#):
>
> When i try to delete\_by\_query another indice, it works. Maybe the problem is that the indices are too large

A smaller index will mean the delete-by-query runs faster for sure, but IMO the fundamental problem is that there's something in your system which imposes an unnecessarily restrictive timeout. Elasticsearch can run jobs like a delete-by-query over enormous indices, with the process taking hours or days.
