diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ml/MlConfigVersion.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ml/MlConfigVersion.java index 1b365bd96d834..dd1b35c2dcd0e 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ml/MlConfigVersion.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ml/MlConfigVersion.java @@ -304,6 +304,9 @@ public static MlConfigVersion getMlConfigVersionForNode(DiscoveryNode node) { return fromId(node.getPre811VersionId().orElseThrow(() -> new IllegalStateException("getting legacy version id not possible"))); } + // supports fromString below + private static final Pattern ML_VERSION_PATTERN = Pattern.compile("^(\\d+)\\.(\\d+)\\.(\\d+)(?:-\\w+)?$"); + // Parse an MlConfigVersion from a string. // Note that version "8.10.x" and "8.11.0" are silently converted to "10.0.0". // This is to support upgrade scenarios in pre-prod QA environments. @@ -319,7 +322,7 @@ public static MlConfigVersion fromString(String str) { if (str.startsWith("8.10.") || str.equals("8.11.0")) { return V_10; } - Matcher matcher = Pattern.compile("^(\\d+)\\.(\\d+)\\.(\\d+)(?:-\\w+)?$").matcher(str); + Matcher matcher = ML_VERSION_PATTERN.matcher(str); if (matcher.matches() == false) { throw new IllegalArgumentException("ML config version [" + str + "] not valid"); } diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ml/action/GetTrainedModelsStatsAction.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ml/action/GetTrainedModelsStatsAction.java index 718714a2d20d1..fba53aadb7b49 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ml/action/GetTrainedModelsStatsAction.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ml/action/GetTrainedModelsStatsAction.java @@ -91,12 +91,6 @@ public static class TrainedModelStats implements ToXContentObject, Writeable { private final AssignmentStats deploymentStats; private final int pipelineCount; - private static final IngestStats EMPTY_INGEST_STATS = new IngestStats( - IngestStats.Stats.IDENTITY, - Collections.emptyList(), - Collections.emptyMap() - ); - public TrainedModelStats( String modelId, TrainedModelSizeStats modelSizeStats, @@ -107,7 +101,7 @@ public TrainedModelStats( ) { this.modelId = Objects.requireNonNull(modelId); this.modelSizeStats = modelSizeStats; - this.ingestStats = ingestStats == null ? EMPTY_INGEST_STATS : ingestStats; + this.ingestStats = ingestStats == null ? IngestStats.IDENTITY : ingestStats; if (pipelineCount < 0) { throw new ElasticsearchException("[{}] must be a greater than or equal to 0", PIPELINE_COUNT.getPreferredName()); }