Skip to content

Commit 74f5411

Browse files
committed
clear TrainedModelStatsService's queue upon MachineLearning reset
1 parent c796fbd commit 74f5411

File tree

2 files changed

+20
-12
lines changed

2 files changed

+20
-12
lines changed

x-pack/plugin/ml/src/main/java/org/elasticsearch/xpack/ml/MachineLearning.java

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -805,7 +805,8 @@ public void loadExtensions(ExtensionLoader loader) {
805805
private final SetOnce<LearningToRankService> learningToRankService = new SetOnce<>();
806806
private final SetOnce<MlAutoscalingDeciderService> mlAutoscalingDeciderService = new SetOnce<>();
807807
private final SetOnce<DeploymentManager> deploymentManager = new SetOnce<>();
808-
private final SetOnce<TrainedModelAssignmentClusterService> trainedModelAllocationClusterServiceSetOnce = new SetOnce<>();
808+
private final SetOnce<TrainedModelAssignmentClusterService> trainedModelAllocationClusterService = new SetOnce<>();
809+
private final SetOnce<TrainedModelStatsService> trainedModelStatsService = new SetOnce<>();
809810

810811
private final SetOnce<MachineLearningExtension> machineLearningExtension = new SetOnce<>();
811812

@@ -1164,12 +1165,14 @@ public Collection<?> createComponents(PluginServices services) {
11641165
this.datafeedRunner.set(datafeedRunner);
11651166

11661167
// Inference components
1167-
final TrainedModelStatsService trainedModelStatsService = new TrainedModelStatsService(
1168-
resultsPersisterService,
1169-
originSettingClient,
1170-
indexNameExpressionResolver,
1171-
clusterService,
1172-
threadPool
1168+
trainedModelStatsService.set(
1169+
new TrainedModelStatsService(
1170+
resultsPersisterService,
1171+
originSettingClient,
1172+
indexNameExpressionResolver,
1173+
clusterService,
1174+
threadPool
1175+
)
11731176
);
11741177
final TrainedModelCacheMetadataService trainedModelCacheMetadataService = new TrainedModelCacheMetadataService(
11751178
clusterService,
@@ -1185,7 +1188,7 @@ public Collection<?> createComponents(PluginServices services) {
11851188
inferenceAuditor,
11861189
threadPool,
11871190
clusterService,
1188-
trainedModelStatsService,
1191+
trainedModelStatsService.get(),
11891192
settings,
11901193
clusterService.getNodeName(),
11911194
inferenceModelBreaker.get(),
@@ -1315,7 +1318,7 @@ public Collection<?> createComponents(PluginServices services) {
13151318
clusterService,
13161319
threadPool
13171320
);
1318-
trainedModelAllocationClusterServiceSetOnce.set(
1321+
trainedModelAllocationClusterService.set(
13191322
new TrainedModelAssignmentClusterService(
13201323
settings,
13211324
clusterService,
@@ -1391,7 +1394,7 @@ public Collection<?> createComponents(PluginServices services) {
13911394
trainedModelCacheMetadataService,
13921395
trainedModelProvider,
13931396
trainedModelAssignmentService,
1394-
trainedModelAllocationClusterServiceSetOnce.get(),
1397+
trainedModelAllocationClusterService.get(),
13951398
deploymentManager.get(),
13961399
nodeAvailabilityZoneMapper,
13971400
new MachineLearningExtensionHolder(machineLearningExtension.get()),
@@ -2152,6 +2155,7 @@ public void cleanUpFeature(
21522155
ActionListener<ResetFeatureStateResponse.ResetFeatureStateStatus> unsetResetModeListener = ActionListener.wrap(success -> {
21532156

21542157
client.execute(SetResetModeAction.INSTANCE, SetResetModeActionRequest.disabled(true), ActionListener.wrap(resetSuccess -> {
2158+
trainedModelStatsService.get().clearQueue();
21552159
finalListener.onResponse(success);
21562160
logger.info("Finished machine learning feature reset");
21572161
}, resetFailure -> {
@@ -2321,11 +2325,11 @@ public void cleanUpFeature(
23212325
);
23222326
client.execute(CancelJobModelSnapshotUpgradeAction.INSTANCE, cancelSnapshotUpgradesReq, delegate);
23232327
}).delegateFailureAndWrap((delegate, acknowledgedResponse) -> {
2324-
if (trainedModelAllocationClusterServiceSetOnce.get() == null || machineLearningExtension.get().isNlpEnabled() == false) {
2328+
if (trainedModelAllocationClusterService.get() == null || machineLearningExtension.get().isNlpEnabled() == false) {
23252329
delegate.onResponse(AcknowledgedResponse.TRUE);
23262330
return;
23272331
}
2328-
trainedModelAllocationClusterServiceSetOnce.get().removeAllModelAssignments(delegate);
2332+
trainedModelAllocationClusterService.get().removeAllModelAssignments(delegate);
23292333
});
23302334

23312335
// validate no pipelines are using machine learning models

x-pack/plugin/ml/src/main/java/org/elasticsearch/xpack/ml/inference/TrainedModelStatsService.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -295,4 +295,8 @@ static UpdateRequest buildUpdateRequest(InferenceStats stats) {
295295
}
296296
return null;
297297
}
298+
299+
public void clearQueue() {
300+
statsQueue.clear();
301+
}
298302
}

0 commit comments

Comments
 (0)