[TEST] fixes FilterAllocationDecider test for decision explanation
when the initial recovery is LOCAL_SHARDS
This commit is contained in:
parent
07bd0a30f0
commit
a884573898
|
@ -28,6 +28,7 @@ import org.elasticsearch.cluster.node.DiscoveryNode;
|
||||||
import org.elasticsearch.cluster.node.DiscoveryNodes;
|
import org.elasticsearch.cluster.node.DiscoveryNodes;
|
||||||
import org.elasticsearch.cluster.routing.RecoverySource;
|
import org.elasticsearch.cluster.routing.RecoverySource;
|
||||||
import org.elasticsearch.cluster.routing.RoutingTable;
|
import org.elasticsearch.cluster.routing.RoutingTable;
|
||||||
|
import org.elasticsearch.cluster.routing.ShardRouting;
|
||||||
import org.elasticsearch.cluster.routing.allocation.allocator.BalancedShardsAllocator;
|
import org.elasticsearch.cluster.routing.allocation.allocator.BalancedShardsAllocator;
|
||||||
import org.elasticsearch.cluster.routing.allocation.decider.AllocationDeciders;
|
import org.elasticsearch.cluster.routing.allocation.decider.AllocationDeciders;
|
||||||
import org.elasticsearch.cluster.routing.allocation.decider.Decision;
|
import org.elasticsearch.cluster.routing.allocation.decider.Decision;
|
||||||
|
@ -81,11 +82,17 @@ public class FilterAllocationDeciderTests extends ESAllocationTestCase {
|
||||||
state.getRoutingNodes().node("node2"), allocation);
|
state.getRoutingNodes().node("node2"), allocation);
|
||||||
assertEquals(Type.YES, decision.type());
|
assertEquals(Type.YES, decision.type());
|
||||||
assertEquals("node passes include/exclude/require filters", decision.getExplanation());
|
assertEquals("node passes include/exclude/require filters", decision.getExplanation());
|
||||||
|
ShardRouting primaryShard = routingTable.index("idx").shard(0).primaryShard();
|
||||||
decision = (Decision.Single) filterAllocationDecider.canAllocate(
|
decision = (Decision.Single) filterAllocationDecider.canAllocate(
|
||||||
routingTable.index("idx").shard(0).primaryShard(),
|
routingTable.index("idx").shard(0).primaryShard(),
|
||||||
state.getRoutingNodes().node("node1"), allocation);
|
state.getRoutingNodes().node("node1"), allocation);
|
||||||
assertEquals(Type.NO, decision.type());
|
assertEquals(Type.NO, decision.type());
|
||||||
|
if (primaryShard.recoverySource().getType() == RecoverySource.Type.LOCAL_SHARDS) {
|
||||||
|
assertEquals("initial allocation of the shrunken index is only allowed on nodes [_id:\"node2\"] that " +
|
||||||
|
"hold a copy of every shard in the index", decision.getExplanation());
|
||||||
|
} else {
|
||||||
assertEquals("initial allocation of the index is only allowed on nodes [_id:\"node2\"]", decision.getExplanation());
|
assertEquals("initial allocation of the index is only allowed on nodes [_id:\"node2\"]", decision.getExplanation());
|
||||||
|
}
|
||||||
|
|
||||||
state = service.reroute(state, "try allocate again");
|
state = service.reroute(state, "try allocate again");
|
||||||
routingTable = state.routingTable();
|
routingTable = state.routingTable();
|
||||||
|
|
Loading…
Reference in New Issue