Handshake to failed – How to solve this Elasticsearch error

Opster Team

Aug-23, Version: 8.2-8.2

Briefly, this error occurs when Elasticsearch is unable to establish a connection with a node due to network issues, incorrect configuration, or version incompatibility. To resolve this, ensure that the network connectivity is stable and the ports are open. Check the Elasticsearch configuration files for any errors and ensure that all nodes are running compatible versions of Elasticsearch. If the issue persists, consider restarting the Elasticsearch service or the entire cluster.

This guide will help you check for common problems that cause the log ” handshake to [{}] failed ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: discovery.

Log Context

Log “handshake to [{}] failed” classname is HandshakingTransportAddressConnector.java.
We extracted the following from Elasticsearch source code for those seeking an in-depth context :

                        @Override
                        protected void innerOnFailure(Exception e) {
                            // we opened a connection and successfully performed a low-level handshake; so we were definitely
                            // talking to an Elasticsearch node; but the high-level handshake failed indicating some kind of
                            // mismatched configurations (e.g. cluster name) that the user should address
                            logger.warn(new ParameterizedMessage("handshake to [{}] failed"; transportAddress); e);
                            IOUtils.closeWhileHandlingException(connection);
                            listener.onFailure(e);
                        }

                    });

 

How helpful was this guide?

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?