[TEST] Don't delete index from the clusterstate otherwise it might be concurrently removed
This commit is contained in:
parent
04dec8470a
commit
bc3b91eb57
|
@ -49,7 +49,6 @@ public class IndicesLifecycleListenerSingleNodeTests extends ESSingleNodeTestCas
|
||||||
ensureGreen();
|
ensureGreen();
|
||||||
IndexMetaData metaData = indicesService.indexService("test").getMetaData();
|
IndexMetaData metaData = indicesService.indexService("test").getMetaData();
|
||||||
ShardRouting shardRouting = indicesService.indexService("test").getShard(0).routingEntry();
|
ShardRouting shardRouting = indicesService.indexService("test").getShard(0).routingEntry();
|
||||||
assertAcked(client().admin().indices().prepareDelete("test").get());
|
|
||||||
final AtomicInteger counter = new AtomicInteger(1);
|
final AtomicInteger counter = new AtomicInteger(1);
|
||||||
IndexEventListener countingListener = new IndexEventListener() {
|
IndexEventListener countingListener = new IndexEventListener() {
|
||||||
@Override
|
@Override
|
||||||
|
@ -88,18 +87,22 @@ public class IndicesLifecycleListenerSingleNodeTests extends ESSingleNodeTestCas
|
||||||
counter.incrementAndGet();
|
counter.incrementAndGet();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
IndexService index = indicesService.createIndex(metaData, Arrays.asList(countingListener));
|
|
||||||
ShardRouting newRouting = new ShardRouting(shardRouting);
|
|
||||||
String nodeId = newRouting.currentNodeId();
|
|
||||||
ShardRoutingHelper.moveToUnassigned(newRouting, new UnassignedInfo(UnassignedInfo.Reason.INDEX_CREATED, "boom"));
|
|
||||||
ShardRoutingHelper.initialize(newRouting, nodeId);
|
|
||||||
IndexShard shard = index.createShard(0, newRouting);
|
|
||||||
shard.updateRoutingEntry(newRouting, true);
|
|
||||||
shard.recoverFromStore(newRouting, new DiscoveryNode("foo", DummyTransportAddress.INSTANCE, Version.CURRENT));
|
|
||||||
newRouting = new ShardRouting(newRouting);
|
|
||||||
ShardRoutingHelper.moveToStarted(newRouting);
|
|
||||||
shard.updateRoutingEntry(newRouting, true);
|
|
||||||
indicesService.deleteIndex("test", "simon says");
|
indicesService.deleteIndex("test", "simon says");
|
||||||
|
try {
|
||||||
|
IndexService index = indicesService.createIndex(metaData, Arrays.asList(countingListener));
|
||||||
|
ShardRouting newRouting = new ShardRouting(shardRouting);
|
||||||
|
String nodeId = newRouting.currentNodeId();
|
||||||
|
ShardRoutingHelper.moveToUnassigned(newRouting, new UnassignedInfo(UnassignedInfo.Reason.INDEX_CREATED, "boom"));
|
||||||
|
ShardRoutingHelper.initialize(newRouting, nodeId);
|
||||||
|
IndexShard shard = index.createShard(0, newRouting);
|
||||||
|
shard.updateRoutingEntry(newRouting, true);
|
||||||
|
shard.recoverFromStore(newRouting, new DiscoveryNode("foo", DummyTransportAddress.INSTANCE, Version.CURRENT));
|
||||||
|
newRouting = new ShardRouting(newRouting);
|
||||||
|
ShardRoutingHelper.moveToStarted(newRouting);
|
||||||
|
shard.updateRoutingEntry(newRouting, true);
|
||||||
|
} finally {
|
||||||
|
indicesService.deleteIndex("test", "simon says");
|
||||||
|
}
|
||||||
assertEquals(7, counter.get());
|
assertEquals(7, counter.get());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue