Avoiding best-effort cluster bootstrapping due to discovery of pre-7.0 nodes – How to solve this Elasticsearch error

Opster Team

Aug-23, Version: 7-7.17

Briefly, this error occurs when Elasticsearch detects nodes that are running on a version prior to 7.0 in the cluster. This prevents the “best effort” cluster bootstrapping, a feature introduced in version 7.0, from functioning. To resolve this issue, you can either upgrade all nodes to version 7.0 or higher, or remove the older nodes from the cluster. Alternatively, you can disable the “best effort” cluster bootstrapping, but this is not recommended as it can lead to split-brain scenarios.

This guide will help you check for common problems that cause the log ” avoiding best-effort cluster bootstrapping due to discovery of pre-7.0 nodes {} ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: cluster, discovery.

Log Context

Log “avoiding best-effort cluster bootstrapping due to discovery of pre-7.0 nodes {}” classname is ClusterBootstrapService.java.
We extracted the following from Elasticsearch source code for those seeking an in-depth context :

                final List zen1Nodes = discoveredNodes.stream().filter(Coordinator::isZen1Node).collect(Collectors.toList());
                if (zen1Nodes.isEmpty()) {
                    logger.debug("performing best-effort cluster bootstrapping with {}"; discoveredNodes);
                    startBootstrap(discoveredNodes; emptyList());
                } else {
                    logger.info("avoiding best-effort cluster bootstrapping due to discovery of pre-7.0 nodes {}"; zen1Nodes);
                }
            }

            @Override
            public String toString() {

 

 [ratemypost]