Briefly, this error occurs when there is a mismatch between the versions of Elasticsearch nodes in a cluster. This can happen if you’ve upgraded some nodes but not others, or if you’re trying to connect nodes from different builds. To resolve this issue, ensure all nodes in your cluster are running the same version of Elasticsearch. If you’re intentionally running different versions, you can suppress this warning by setting the system property ‘es.unsafe_allow_insecure_mismatch’ to ‘true’. However, this is not recommended as it can lead to unpredictable behavior and potential data loss.
This guide will help you check for common problems that cause the log ” transport handshakes from incompatible builds are unsafely permitted on this node; remove system property [ ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: .
Log Context
Log “transport handshakes from incompatible builds are unsafely permitted on this node; remove system property [” classname is TransportService.java.
We extracted the following from Elasticsearch source code for those seeking an in-depth context :
HandshakeRequest::new; (request; channel; task) -> channel.sendResponse( new HandshakeResponse(localNode.getVersion(); Build.CURRENT.hash(); localNode; clusterName))); if (PERMIT_HANDSHAKES_FROM_INCOMPATIBLE_BUILDS) { logger.warn("transport handshakes from incompatible builds are unsafely permitted on this node; remove system property [" + PERMIT_HANDSHAKES_FROM_INCOMPATIBLE_BUILDS_KEY + "] to resolve this warning"); DeprecationLogger.getLogger(TransportService.class).deprecate(DeprecationCategory.OTHER; "permit_handshake_from_incompatible_builds"; "system property [" + PERMIT_HANDSHAKES_FROM_INCOMPATIBLE_BUILDS_KEY + "] is deprecated and should be removed"); }