[ML] log minimum diskspace setting if forecast fails due to insufficient d… (#37486)
log minimum disk space setting if forecast fails due to insufficient disk space
This commit is contained in:
parent
987576b013
commit
15d1b904a1
|
@ -97,8 +97,15 @@ public class TransportForecastJobAction extends TransportJobTaskAction<ForecastJ
|
||||||
} else if (forecastRequestStats.getStatus() == ForecastRequestStats.ForecastRequestStatus.FAILED) {
|
} else if (forecastRequestStats.getStatus() == ForecastRequestStats.ForecastRequestStatus.FAILED) {
|
||||||
List<String> messages = forecastRequestStats.getMessages();
|
List<String> messages = forecastRequestStats.getMessages();
|
||||||
if (messages.size() > 0) {
|
if (messages.size() > 0) {
|
||||||
|
String message = messages.get(0);
|
||||||
|
|
||||||
|
// special case: if forecast failed due to insufficient disk space, log the setting
|
||||||
|
if (message.contains("disk space is insufficient")) {
|
||||||
|
message += " Minimum disk space required: [" + processManager.getMinLocalStorageAvailable() + "]";
|
||||||
|
}
|
||||||
|
|
||||||
listener.onFailure(ExceptionsHelper.badRequestException("Cannot run forecast: "
|
listener.onFailure(ExceptionsHelper.badRequestException("Cannot run forecast: "
|
||||||
+ messages.get(0)));
|
+ message));
|
||||||
} else {
|
} else {
|
||||||
// paranoia case, it should not be possible to have an empty message list
|
// paranoia case, it should not be possible to have an empty message list
|
||||||
listener.onFailure(
|
listener.onFailure(
|
||||||
|
|
|
@ -749,6 +749,10 @@ public class AutodetectProcessManager {
|
||||||
return autoDetectWorkerExecutor;
|
return autoDetectWorkerExecutor;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ByteSizeValue getMinLocalStorageAvailable() {
|
||||||
|
return nativeStorageProvider.getMinLocalStorageAvailable();
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The autodetect native process can only handle a single operation at a time. In order to guarantee that, all
|
* The autodetect native process can only handle a single operation at a time. In order to guarantee that, all
|
||||||
* operations are initially added to a queue and a worker thread from ml autodetect threadpool will process each
|
* operations are initially added to a queue and a worker thread from ml autodetect threadpool will process each
|
||||||
|
|
|
@ -111,6 +111,10 @@ public class NativeStorageProvider {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ByteSizeValue getMinLocalStorageAvailable() {
|
||||||
|
return minLocalStorageAvailable;
|
||||||
|
}
|
||||||
|
|
||||||
long getUsableSpace(Path path) throws IOException {
|
long getUsableSpace(Path path) throws IOException {
|
||||||
long freeSpaceInBytes = Environment.getFileStore(path).getUsableSpace();
|
long freeSpaceInBytes = Environment.getFileStore(path).getUsableSpace();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue