版本: 6.8-7.15
简而言之,当Elasticsearch尝试启动datafeed但由于某些索引正在升级而无法启动时,就会出现此错误。这意味着系统正在更新索引的过程中,在此过程完成之前无法启动datafeed。要解决此问题,您可以等待升级过程完成,或者暂停升级,启动datafeed,然后恢复升级。然而,通常建议让升级完成,以避免潜在的数据不一致。
日志上下文 #
日志"Could not start datafeed [" + datafeedId +"] as indices are being upgraded"的类名是 DatafeedNodeSelector.java。我们从Elasticsearch源代码中提取了以下内容,供那些寻求深入上下文的人参考:
public void checkDatafeedTaskCanBeCreated() {
if (MlMetadata.getMlMetadata(clusterState).isUpgradeMode()) {
String msg = "Unable to start datafeed [" + datafeedId +"] explanation [" + AWAITING_UPGRADE.getExplanation() + "]";
LOGGER.debug(msg);
Exception detail = new IllegalStateException(msg);
throw new ElasticsearchStatusException("Could not start datafeed [" + datafeedId +"] as indices are being upgraded",
RestStatus.TOO_MANY_REQUESTS, detail);
}
AssignmentFailure assignmentFailure = checkAssignment();
if (assignmentFailure != null && assignmentFailure.isCriticalForTaskCreation) {
String msg = "No node found to start datafeed [" + datafeedId + "]; " +





