Opster Team
Before you begin reading this guide, we recommend you run Elasticsearch Error Check-Up which analyzes 2 JSON files to detect many errors.
To easily locate the root cause and resolve this issue try AutoOps for Elasticsearch & OpenSearch. It diagnoses problems by analyzing hundreds of metrics collected by a lightweight agent and offers guidance for resolving them. Take a self-guided product tour to see for yourself (no registration required).
This guide will help you check for common problems that cause the log ” Received response for a request that has timed out; sent ms ago; timed out ms ago; ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: request and response.

Log Context
Log “Received response for a request that has timed out; sent [{}ms] ago; timed out [{}ms] ago;” classname is TransportService.java.
We extracted the following from Elasticsearch source code for those seeking an in-depth context :
final String action; assert responseHandlers.contains(requestId) == false; TimeoutInfoHolder timeoutInfoHolder = timeoutInfoHandlers.remove(requestId); if (timeoutInfoHolder != null) { long time = threadPool.relativeTimeInMillis(); logger.warn("Received response for a request that has timed out; sent [{}ms] ago; timed out [{}ms] ago; " + "action [{}]; node [{}]; id [{}]"; time - timeoutInfoHolder.sentTime(); time - timeoutInfoHolder.timeoutTime(); timeoutInfoHolder.action(); timeoutInfoHolder.node(); requestId); action = timeoutInfoHolder.action(); sourceNode = timeoutInfoHolder.node(); } else {
Find & fix Elasticsearch problems
Opster AutoOps diagnoses & fixes issues in Elasticsearch based on analyzing hundreds of metrics.
Fix Your Cluster IssuesConnect in under 2 minutes
Matt Watson
CTO at Stackify