**Elasticsearch 9.5.3 + ReadonlyREST 1.71.0: large bulk requests hang**

Hi everyone,

after upgrading Elasticsearch from 9.5.1 to 9.5.3, we are seeing severe problems with bulk requests when ReadonlyREST 1.71.0 is enabled.

Environment:

  • Elasticsearch: 9.5.3
  • ReadonlyREST: 1.71.0
  • Logstash: 8.19.x
  • ReadonlyREST plugin reports Elasticsearch version: 9.5.3
  • HTTPS enabled

After upgrading I see a lot of these lines in the logstash logs:

[2026-09-21T23:56:05,724][WARN ][logstash.outputs.elasticsearch][native_stderr][c2f7b54217d06f733b795c4f8e1237fe31cf6c8b165689409030576b51e86fc8] Marking url as dead. Last error: [LogStash::Outputs::ElasticSearch::HttpClient::Pool::HostUnreachableError] Elasticsearch 
Unreachable: [https://my-elastic9.my.domain:9200/_bulk?filter_path=errors,items.*.error,items.*.status][Manticore::SocketTimeout] Read timed out {:url=>https://logstash:xxxxxx@my-elastic9.my.domain:9200/, :error_message=>"Elasticsearch Unreachable: [https://my-elastic9.my.domain:9200/_bulk?filter_path=errors,items.*.error,items.*.status][Manticore::SocketTimeout] Read timed out", :error_class=>"LogStash::Outputs::ElasticSearch::HttpClient::Pool::HostUnreachableError"}
[2026-09-21T23:56:05,724][ERROR][logstash.outputs.elasticsearch][native_stderr][c2f7b54217d06f733b795c4f8e1237fe31cf6c8b165689409030576b51e86fc8] Attempted to send a bulk request but Elasticsearch appears to be unreachable or down {:message=>"Elasticsearch Unreachable: [https://my-elastic9.my.domain:9200/_bulk?filter_path=errors,items.*.error,items.*.status][Manticore::SocketTimeout] Read timed out", :exception=>LogStash::Outputs::ElasticSearch::HttpClient::Pool::HostUnreachableError, :will_retry_in_seconds=>64} 

The problem is reproducible with a direct curl request, so it is not specific to Logstash.

A small bulk request (100 events) completes in roughly 80–90 ms sent directly via curl.

A bulk request containing 500 events (~848 KB NDJSON) frequently hangs indefinitely. For comparison: On another cluster running Elasticsearch 9.5.1, a bulk request with 5000 events completes in roughly 1 second.

While the 500-event request is hanging, ss on the Elasticsearch node shows the HTTP connection as:

ESTAB   611618   0   ...:9200   ...:<client-port>

The Recv-Q remains unchanged at ~612 KB for an extended period.

If the client (curl) is aborted, the connection changes to:

CLOSE-WAIT 611619  0   ...:9200   ...:<client-port>

and remains in CLOSE-WAIT even after waiting.

This also affects Elasticsearch shutdown: the shutdown hangs with messages such as:

still waiting on 346 client connections to close

Indexing pressure does not appear to be the cause. We checked _nodes/stats and saw zero indexing-pressure rejections, and the queues were empty.

Has anyone seen this behavior with ReadonlyREST 1.71.0 on Elasticsearch 9.5.3? Could this be related to HTTP request handling or bulk request buffering in the ROR layer?

I am currently testing with ReadonlyREST disabled to determine whether the problem disappears without ROR.

Thanks!

Hello @Ljapunov

Thanks for reporting it. We will check it and I will get back to you.

could you please disable HTTPS and test again? DO you still see the problem?

Hey @coutoPL ,

thanks for your fast reply. In the meantime we updated to Elasticsearch 9.5.4. With the same problem.

BUT: With deactivated https we see events coming in again!

BUT: With deactivated https we see events coming in again!

Ok, thanks for the confirmation. It means we identified the problem. We’re working on the fix now.

Will send you a pre-build when it’s ready. Which ES version would you like to test with the upcoming pre-build?

wow, you are fast. please provide the pre-build for 9.5.4

We have the fix. I will send you a pre-build tomorrow after the fix is merged.

here is the pre-build:
ROR 1.72.0-pre1 for ES 9.5.4

Your fix works. We are receiving events again with the prebuild!

Thank you so much for your fast solution!

Hi!

I’m a colleague of ljapunov.

Today we saw version 1.71.0 for Elasticsearch 9.5.5.

The prebuild was version 1.72.0-pre1 for 9.5.4.

We’re now unsure whether the changes from the prebuild are also included in the new version for 9.5.5, since the version number (1.71.0) hasn’t changed.

Can you clarify this for us? :slight_smile:

Hi @vgt1970

This week we released ROR 1.71.0 for ES 9.5.5.
It doesn’t include any new changes we plan for ROR 1.72.0, including the fix above.

If you need a build with the fix for 9.5.5, I can send you a prebuild.
But we plan to release ROR 1.72.0 tomorrow or during the weekend.

Hey @coutoPL!
Thank you very much—that confirms what we thought.

But we can wait for version 1.72.0; after the weekend will be soon enough.

Thank you so much for the detailed response and the offer! :slight_smile:

ROR 1.72.0 with the fix has already been released