Skip to content

Commit b8a5405

Browse files
adding inference timeout for third party inference timeout
1 parent 31d17bc commit b8a5405

File tree

3 files changed

+7
-2
lines changed

3 files changed

+7
-2
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -266,7 +266,7 @@ public Collection<?> createComponents(PluginServices services) {
266266
throttlerManager.init(services.clusterService());
267267

268268
var truncator = new Truncator(settings, services.clusterService());
269-
serviceComponents.set(new ServiceComponents(services.threadPool(), throttlerManager, settings, truncator));
269+
serviceComponents.set(new ServiceComponents(services.threadPool(), throttlerManager, settings, truncator, services.clusterService()));
270270
threadPoolSetOnce.set(services.threadPool());
271271

272272
var httpClientManager = HttpClientManager.create(settings, services.threadPool(), services.clusterService(), throttlerManager);

x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/SenderService.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import org.elasticsearch.inference.TaskType;
2424
import org.elasticsearch.inference.UnifiedCompletionRequest;
2525
import org.elasticsearch.rest.RestStatus;
26+
import org.elasticsearch.xpack.inference.InferencePlugin;
2627
import org.elasticsearch.xpack.inference.external.http.sender.ChatCompletionInput;
2728
import org.elasticsearch.xpack.inference.external.http.sender.EmbeddingsInput;
2829
import org.elasticsearch.xpack.inference.external.http.sender.HttpRequestSender;
@@ -73,6 +74,9 @@ public void infer(
7374
init();
7475
var chunkInferenceInput = input.stream().map(i -> new ChunkInferenceInput(i, null)).toList();
7576
var inferenceInput = createInput(this, model, chunkInferenceInput, inputType, query, returnDocuments, topN, stream);
77+
if (timeout == null) {
78+
timeout = serviceComponents.clusterService().getClusterSettings().get(InferencePlugin.SEMANTIC_TEXT_INFERENCE_TIMEOUT);
79+
}
7680
doInfer(model, inferenceInput, taskSettings, timeout, listener);
7781
}
7882

x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/ServiceComponents.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
package org.elasticsearch.xpack.inference.services;
99

10+
import org.elasticsearch.cluster.service.ClusterService;
1011
import org.elasticsearch.common.settings.Settings;
1112
import org.elasticsearch.threadpool.ThreadPool;
1213
import org.elasticsearch.xpack.inference.common.Truncator;
@@ -15,4 +16,4 @@
1516
/**
1617
* A container for common components need at various levels of the inference services to instantiate their internals
1718
*/
18-
public record ServiceComponents(ThreadPool threadPool, ThrottlerManager throttlerManager, Settings settings, Truncator truncator) {}
19+
public record ServiceComponents(ThreadPool threadPool, ThrottlerManager throttlerManager, Settings settings, Truncator truncator, ClusterService clusterService) {}

0 commit comments

Comments
 (0)