Allow to delete a closed index, closes #859.

This commit is contained in:
kimchy 2011-04-14 20:51:20 +03:00
parent 7c38f20056
commit 897587f981
1 changed files with 10 additions and 9 deletions

View File

@ -74,8 +74,7 @@ public class MetaDataDeleteIndexService extends AbstractComponent {
@Override public ClusterState execute(ClusterState currentState) {
final DeleteIndexListener listener = new DeleteIndexListener(request, userListener);
try {
RoutingTable routingTable = currentState.routingTable();
if (!routingTable.hasIndex(request.index)) {
if (!currentState.metaData().hasIndex(request.index)) {
listener.onFailure(new IndexMissingException(new Index(request.index)));
return currentState;
}
@ -100,6 +99,7 @@ public class MetaDataDeleteIndexService extends AbstractComponent {
// initialize the counter only for nodes the shards are allocated to
Set<String> allocatedNodes = Sets.newHashSet();
if (currentState.routingTable().hasIndex(request.index)) {
for (IndexShardRoutingTable indexShardRoutingTable : currentState.routingTable().index(request.index)) {
for (ShardRouting shardRouting : indexShardRoutingTable) {
if (shardRouting.currentNodeId() != null) {
@ -110,6 +110,7 @@ public class MetaDataDeleteIndexService extends AbstractComponent {
}
}
}
}
if (allocatedNodes.isEmpty()) {
// no nodes allocated, don't wait for a response