do not wait for shards, fix 'index' field value casting, more logging when pruning
This commit is contained in:
parent
015288b583
commit
94c4fcf02c
2 changed files with 18 additions and 7 deletions
|
@ -151,7 +151,6 @@ public abstract class AbstractAdminClient extends AbstractBasicClient implements
|
|||
DeleteIndexRequest deleteIndexRequest = new DeleteIndexRequest().indices(index);
|
||||
client.execute(DeleteIndexAction.INSTANCE, deleteIndexRequest).actionGet();
|
||||
waitForCluster("YELLOW", 30L, TimeUnit.SECONDS);
|
||||
waitForShards(30L, TimeUnit.SECONDS);
|
||||
return this;
|
||||
}
|
||||
|
||||
|
@ -168,7 +167,6 @@ public abstract class AbstractAdminClient extends AbstractBasicClient implements
|
|||
return this;
|
||||
}
|
||||
updateIndexSetting(index, "number_of_replicas", level, maxWaitTime, timeUnit);
|
||||
waitForShards(maxWaitTime, timeUnit);
|
||||
return this;
|
||||
}
|
||||
|
||||
|
@ -367,7 +365,7 @@ public abstract class AbstractAdminClient extends AbstractBasicClient implements
|
|||
GetIndexRequestBuilder getIndexRequestBuilder = new GetIndexRequestBuilder(client, GetIndexAction.INSTANCE);
|
||||
GetIndexResponse getIndexResponse = getIndexRequestBuilder.execute().actionGet();
|
||||
Pattern pattern = Pattern.compile("^(.*?)(\\d+)$");
|
||||
logger.info("found {} indices for pruning", getIndexResponse.getIndices().length);
|
||||
logger.info("found {} indices in the cluster", getIndexResponse.getIndices().length);
|
||||
List<String> candidateIndices = new ArrayList<>();
|
||||
for (String s : getIndexResponse.getIndices()) {
|
||||
Matcher m = pattern.matcher(s);
|
||||
|
@ -375,10 +373,13 @@ public abstract class AbstractAdminClient extends AbstractBasicClient implements
|
|||
candidateIndices.add(s);
|
||||
}
|
||||
}
|
||||
logger.info("found {} as candidates for pruning", candidateIndices);
|
||||
if (candidateIndices.isEmpty()) {
|
||||
logger.info("empty pruning");
|
||||
return EMPTY_INDEX_PRUNE_RESULT;
|
||||
}
|
||||
if (mintokeep > 0 && candidateIndices.size() <= mintokeep) {
|
||||
logger.info("nothing to prune, min to keep = " + mintokeep);
|
||||
return new NothingToDoPruneResult(candidateIndices, Collections.emptyList());
|
||||
}
|
||||
List<String> indicesToDelete = new ArrayList<>();
|
||||
|
@ -396,6 +397,7 @@ public abstract class AbstractAdminClient extends AbstractBasicClient implements
|
|||
}
|
||||
}
|
||||
}
|
||||
logger.warn("removing {}", indicesToDelete);
|
||||
if (indicesToDelete.isEmpty()) {
|
||||
return new NothingToDoPruneResult(candidateIndices, indicesToDelete);
|
||||
}
|
||||
|
@ -403,6 +405,7 @@ public abstract class AbstractAdminClient extends AbstractBasicClient implements
|
|||
DeleteIndexRequest deleteIndexRequest = new DeleteIndexRequest()
|
||||
.indices(indicesToDelete.toArray(s));
|
||||
AcknowledgedResponse response = client.execute(DeleteIndexAction.INSTANCE, deleteIndexRequest).actionGet();
|
||||
logger.info("removed {}", indicesToDelete);
|
||||
return new SuccessPruneResult(candidateIndices, indicesToDelete, response);
|
||||
}
|
||||
|
||||
|
@ -628,11 +631,19 @@ public abstract class AbstractAdminClient extends AbstractBasicClient implements
|
|||
path = path + fieldName;
|
||||
}
|
||||
if (map.containsKey("index")) {
|
||||
String mode = (String) map.get("index");
|
||||
Object mode = map.get("index");
|
||||
if (mode instanceof String) {
|
||||
if ("no".equals(mode)) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (mode instanceof Boolean) {
|
||||
Boolean b = (Boolean) mode;
|
||||
if (!b) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
for (Map.Entry<String, Object> entry : map.entrySet()) {
|
||||
String key = entry.getKey();
|
||||
Object o = entry.getValue();
|
||||
|
|
|
@ -110,7 +110,7 @@ public abstract class AbstractBasicClient implements BasicClient {
|
|||
ClusterHealthResponse healthResponse =
|
||||
client.execute(ClusterHealthAction.INSTANCE, clusterHealthRequest).actionGet();
|
||||
if (healthResponse.isTimedOut()) {
|
||||
String message = "timeout waiting for cluster shards";
|
||||
String message = "timeout waiting for cluster shards: " + timeout;
|
||||
logger.error(message);
|
||||
throw new IllegalStateException(message);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue