in src/main/java/co/elastic/support/diagnostics/commands/BaseQuery.java [63:105]
List<RestEntry> execQueryList(RestClient restClient, List<RestEntry> calls, String tempdir){
List<RestEntry> retryFailed = new ArrayList<>();
for (RestEntry entry : calls) {
try {
String subdir = entry.getSubdir();
if(StringUtils.isEmpty(subdir)){
subdir = tempdir;
}
else {
subdir = tempdir + SystemProperties.fileSeparator + subdir;
File nestedFolder = new File(subdir);
if( ! nestedFolder.isDirectory() ){
nestedFolder.mkdir();
}
}
String fileName = subdir + SystemProperties.fileSeparator + entry.getName() + entry.getExtension();
RestResult restResult = restClient.execQuery(entry.getUrl(), fileName);
if (restResult.isValid()) {
logger.info(Constants.CONSOLE, "Results written to: {}", fileName);
}
else{
if(entry.isRetry() && restResult.isRetryable()){
retryFailed.add(entry);
logger.info("{} {} failed.", entry.getName(), entry.getUrl());
logger.info(restResult.formatStatusMessage("Flagged for retry."));
}
else{
logger.info(Constants.CONSOLE, "{} {} failed. Bypassing", entry.getName(), entry.getUrl());
logger.info(Constants.CONSOLE, restResult.formatStatusMessage("See archived diagnostics.log for more detail."));
}
}
} catch (Exception e) {
// Something happens just log it and go to the next query.
logger.error( "Error occurred executing query {}", entry.getName() + " - " + entry.getUrl(), e);
continue;
}
}
return retryFailed;
}