feat: increase Ollama API timeout values and extract as constants (#5778)

- 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)
This commit is contained in:
Daniel 2025-07-16 08:30:33 -05:00 committed by GitHub
parent d513b9c0e1
commit 8c8888a977
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -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",