From 676ca79c0363a3da25aab2cdbdd454f0965b13e4 Mon Sep 17 00:00:00 2001 From: Daniel Riccio Date: Wed, 16 Jul 2025 08:21:13 -0500 Subject: [PATCH] feat: increase Ollama API timeout values and extract as constants - Increase embedding request timeout from 10s to 60s - Increase validation request timeouts from 5s to 30s - Extract timeout values as module-level constants for better maintainability - OLLAMA_EMBEDDING_TIMEOUT_MS = 60000 (60 seconds) - OLLAMA_VALIDATION_TIMEOUT_MS = 30000 (30 seconds) --- src/services/code-index/embedders/ollama.ts | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/services/code-index/embedders/ollama.ts b/src/services/code-index/embedders/ollama.ts index 20b22b92bf0..c160d39490e 100644 --- a/src/services/code-index/embedders/ollama.ts +++ b/src/services/code-index/embedders/ollama.ts @@ -7,6 +7,10 @@ import { withValidationErrorHandling, sanitizeErrorMessage } from "../shared/val import { TelemetryService } from "@roo-code/telemetry" import { TelemetryEventName } from "@roo-code/types" +// Timeout constants for Ollama API requests +const OLLAMA_EMBEDDING_TIMEOUT_MS = 60000 // 60 seconds for embedding requests +const OLLAMA_VALIDATION_TIMEOUT_MS = 30000 // 30 seconds for validation requests + /** * Implements the IEmbedder interface using a local Ollama instance. */ @@ -61,7 +65,7 @@ export class CodeIndexOllamaEmbedder implements IEmbedder { // Add timeout to prevent indefinite hanging const controller = new AbortController() - const timeoutId = setTimeout(() => controller.abort(), 10000) // 10 second timeout + const timeoutId = setTimeout(() => controller.abort(), OLLAMA_EMBEDDING_TIMEOUT_MS) const response = await fetch(url, { method: "POST", @@ -140,7 +144,7 @@ export class CodeIndexOllamaEmbedder implements IEmbedder { // Add timeout to prevent indefinite hanging const controller = new AbortController() - const timeoutId = setTimeout(() => controller.abort(), 5000) // 5 second timeout + const timeoutId = setTimeout(() => controller.abort(), OLLAMA_VALIDATION_TIMEOUT_MS) const modelsResponse = await fetch(modelsUrl, { method: "GET", @@ -197,7 +201,7 @@ export class CodeIndexOllamaEmbedder implements IEmbedder { // Add timeout for test request too const testController = new AbortController() - const testTimeoutId = setTimeout(() => testController.abort(), 5000) + const testTimeoutId = setTimeout(() => testController.abort(), OLLAMA_VALIDATION_TIMEOUT_MS) const testResponse = await fetch(testUrl, { method: "POST",