Tests: Make sure that the cluster state came from the same master before checking for discrepancies
If nodes don't agree on the master, the cluster state doesn't have to match even if they have the same version
This commit is contained in:
parent
bfa984e1c2
commit
d6f9fe96af
|
@ -1099,8 +1099,9 @@ public abstract class ESIntegTestCase extends ESTestCase {
|
|||
localClusterState = ClusterState.Builder.fromBytes(localClusterStateBytes, null);
|
||||
final Map<String, Object> localStateMap = convertToMap(localClusterState);
|
||||
final int localClusterStateSize = localClusterState.toString().length();
|
||||
// Check that the non-master node has the same version of the cluster state as the master and that this node didn't disconnect from the master
|
||||
if (masterClusterState.version() == localClusterState.version() && localClusterState.nodes().nodes().containsKey(masterId)) {
|
||||
// Check that the non-master node has the same version of the cluster state as the master and
|
||||
// that the master node matches the master (otherwise there is no requirement for the cluster state to match)
|
||||
if (masterClusterState.version() == localClusterState.version() && masterId.equals(localClusterState.nodes().masterNodeId())) {
|
||||
try {
|
||||
assertEquals("clusterstate UUID does not match", masterClusterState.stateUUID(), localClusterState.stateUUID());
|
||||
// We cannot compare serialization bytes since serialization order of maps is not guaranteed
|
||||
|
|
Loading…
Reference in New Issue