As per this page https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-node.html "elected master node must await acknowledgement of cluster state updates from every node!", which makes me wonder if I have a node that is very slow due to unequal distribution of indexing or search data or maybe inferior hardware/infrastructure than other, so does that mean that this node will halt the whole cluster?
Will master not commit the cluster state still it gets back ACK from all the nodes or it will keep on committing based on responses from a quorum of nodes & it can happen that few nodes in the cluster have a stale cluster state?
The master will commit the cluster state if it receives an ACK from a quorum of master-eligible nodes (defined using the minimum_master_nodes setting). It will then wait up to 30 seconds for all the nodes to apply said cluster state before continuing with the next update. The reason for waiting is not to let nodes fall too far behind in knowledge (with the timeout it's a best effort though), which might give a skewed view to clients that are connecting in round-robin fashion to different nodes.
if I have a node that is very slow due to unequal distribution of indexing or search data or maybe inferior hardware/infrastructure than other, so does that mean that this node will halt the whole cluster
That node can slow down cluster state processing, but this is only metadata, which is not updated frequently, so should normally not have an impact on your ingest performance.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.