Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
Don't allow nodes with missing custom meta data to join cluster #15401
Currently, when some nodes in a cluster are missing plugins with custom metadata, the nodes silently fail while trying to deserialize the unknown custom metadata on the first cluster state update. Ideally, the node should fail hard and make it obvious why it failed.
This PR treats node with missing custom metadata same as a node with version incompatibility. When a node with missing custom metadata tries to join a cluster, the master detects it and the node fails to join the cluster.
Thanks for having a look, @imotov! I updated the PR to use the node join validation request (thanks @bleskes for the tip!) to attempt to deserialize master's cluster state. Now, if the joining node has missing custom data types on any level, the deserialization will fail. The join failure is logged as an ISE hinting missing plugins on the joining node.