Briefly, this error occurs when Elasticsearch nodes fail to communicate with each other due to network issues, firewall restrictions, or incorrect configuration settings. To resolve this, ensure that the network connection between nodes is stable and reliable. Check firewall settings to allow inter-node communication. Verify the configuration settings, particularly the ‘transport.ping_schedule’ and ‘transport.tcp.connect_timeout’ parameters. Also, ensure that the nodes are running compatible Elasticsearch versions.
This guide will help you check for common problems that cause the log ” failed to send ping transport message ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: ping.
Log Context
Log “failed to send ping transport message” classname is TransportKeepAlive.java.
We extracted the following from Elasticsearch source code for those seeking an in-depth context :
threadPool.scheduleUnlessShuttingDown(pingInterval; ThreadPool.Names.GENERIC; this); } @Override public void onFailure(Exception e) { logger.warn("failed to send ping transport message"; e); } private boolean needsKeepAlivePing(TcpChannel channel) { TcpChannel.ChannelStats stats = channel.getChannelStats(); long accessedDelta = stats.lastAccessedTime() - lastPingRelativeMillis;