mem0ai/mem0 · error · Error
Timed out waiting for Databricks endpoint ${this.endpointNam
Error message
Timed out waiting for Databricks endpoint ${this.endpointName} to become ready. What it means
Thrown by the Databricks vector store after waitForEndpointReadiness() polls the Databricks Vector Search endpoint status until syncTimeoutMs expires without reaching a ready state. The loop only exits early when the API reports a ready state; any other state keeps polling until the deadline. This is a provisioning-wait timeout, not a network failure.
Source
Thrown at mem0-ts/src/oss/src/vector_stores/databricks.ts:1231
if (state === "ONLINE") {
return;
}
if (typeof state !== "string") {
throw new Error(
"Databricks endpoint status did not report a state during initialization.",
);
}
if (this.syncPollIntervalMs > 0) {
await new Promise((resolve) =>
setTimeout(resolve, this.syncPollIntervalMs),
);
}
}
throw new Error(
`Timed out waiting for Databricks endpoint ${this.endpointName} to become ready.`,
);
}
private async waitForIndexReadiness(): Promise<void> {
const deadline = Date.now() + this.syncTimeoutMs;
while (Date.now() <= deadline) {
const response = await this.httpClient.get(
`/indexes/${encodeURIComponent(this.fullIndexName)}`,
);
const ready = response?.data?.status?.ready;
if (ready === true) {
return;
}
if (ready !== false) {View on GitHub (pinned to 001c235229)
Solutions
- Increase syncTimeoutMs in the Databricks vector store config (e.g. 900000 for 15 minutes) to cover endpoint provisioning time.
- Check the endpoint state in the Databricks workspace (Vector Search > Endpoints) and confirm it reaches ONLINE/ready before starting the app.
- Pre-provision the endpoint once via the Databricks UI or API outside your app so subsequent runs only verify readiness.
- Verify this.endpointName matches an existing endpoint; a typo means it never becomes ready.
Example fix
// before
const store = new DatabricksDB({
endpointName: 'my-endpoint',
// default syncTimeoutMs too short for cold provisioning
});
// after
const store = new DatabricksDB({
endpointName: 'my-endpoint',
syncTimeoutMs: 15 * 60 * 1000, // wait up to 15 min for provisioning
syncPollIntervalMs: 10_000,
}); Defensive patterns
Strategy: retry
Validate before calling
// Before constructing the store, check endpoint state via Databricks API
// (assumes an axios/http client with workspace auth):
const res = await client.get(`/api/2.0/vector-search/endpoints/${encodeURIComponent(endpointName)}`);
const state = res?.data?.endpoint_status?.state;
if (state !== 'ONLINE' && state !== 'ENDPOINT_READY') {
// wait or provision before creating DatabricksDB
} Try / catch
try {
const store = new DatabricksDB(config);
await store.init?.();
} catch (e) {
if (e instanceof Error && e.message.includes('Timed out waiting for Databricks endpoint')) {
// endpoint provisioning is slow: lengthen timeout and retry once
await new Promise(r => setTimeout(r, 60_000));
return initStore({ ...config, syncTimeoutMs: config.syncTimeoutMs * 2 });
}
throw e;
} Prevention
- Pre-provision the Databricks Vector Search endpoint before app startup so initialization only verifies readiness.
- Set syncTimeoutMs generously (>= 15 min) for cold-start workspaces; shrink it once the endpoint stays warm.
- Monitor endpoint state in the Databricks UI during first integration runs.
When it happens
Trigger: Constructing the DatabricksDB vector store (or any operation that triggers endpoint initialization) when the Databricks Vector Search endpoint is still PROVISIONING or stuck in a non-ready state for longer than syncTimeoutMs (set via config). Also triggered when syncTimeoutMs is set too low relative to Databricks endpoint provisioning time (often 5-15 minutes).
Common situations: First run against a new Databricks workspace where the endpoint must be provisioned from scratch; a default syncTimeoutMs that is shorter than Databricks provisioning time; endpoint scaled to zero and restarting; Databricks UI showing the endpoint in PROVISIONING while the SDK keeps polling.
Understand the failure class
- Timeouts: ETIMEDOUT, deadlines, and hung requests — what actually expires when a request times out.
Related errors
- Timed out waiting for Databricks index ${this.fullIndexName}
- Databricks vector store requires either workspaceUrl or host
- Databricks index status did not report a readiness flag afte
- AND filter value must be a list of filter dicts, got ${typeo
- OR filter value must be a list of filter dicts, got ${typeof
AI-assisted analysis of mem0ai/mem0@001c235229 (2026-08-15).
Data as JSON: /api/errors/9ae6f476f9ef55d5.
Report an issue: GitHub.