mem0ai/mem0 · error · Error

Databricks endpoint status did not report a state during…

Error message

Databricks endpoint status did not report a state during initialization.

What it means

During initialization the store polls GET /endpoints/{name} until state is ONLINE. The state is read from endpoint_status.state or a top-level state. If the response shape is unrecognized — state is not a string — the store cannot distinguish provisioning from failure and throws rather than looping blindly.

Solutions

  1. Verify endpointName matches an existing Vector Search endpoint in the workspace UI
  2. Confirm Vector Search is enabled for the workspace/region
  3. Inspect the raw GET /api/2.0/vector-search/endpoints/{name} response to see what shape is actually returned (proxy interference, error envelope)
Defensive patterns

Strategy: retry

Validate before calling

const resp = await httpClient.get(`/api/2.0/vector-search/endpoints/${encodeURIComponent(endpointName)}`);
const state = resp?.data?.endpoint_status?.state ?? resp?.data?.state;
if (typeof state !== 'string') throw new Error('Unexpected endpoint status payload — check endpoint name and workspace');

Try / catch

try { await store.initialize(); } catch (e) { if (e instanceof Error && e.message.includes('did not report a state')) { /* verify endpointName exists and Vector Search is enabled, then retry */ } throw e; }

Prevention

When it happens

Trigger: The Vector Search API returns an unexpected payload: 200 with an error envelope, a truncated body, a proxy/SSO HTML page, or an API version whose response omits endpoint_status.state — during the initial wait for the endpoint to come online.

Common situations: Endpoint name typo so the GET returns a not-found envelope with no state; workspace where Vector Search is disabled; a gateway rewriting responses; the endpoint being deleted while initialize() polls.

Related errors


AI-assisted analysis of mem0ai/mem0@001c235229 (2026-08-15). Data as JSON: /api/errors/b8a1cc49cede6f1b. Report an issue: GitHub.

Appendix: source

Thrown at mem0-ts/src/oss/src/vector_stores/databricks.ts:1219

    }
  }

  private async waitForEndpointReadiness(): Promise<void> {
    const deadline = Date.now() + this.syncTimeoutMs;

    while (Date.now() <= deadline) {
      const response = await this.httpClient.get(
        `/endpoints/${encodeURIComponent(this.endpointName)}`,
      );
      const state =
        response?.data?.endpoint_status?.state ?? response?.data?.state;

      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;

View on GitHub (pinned to 001c235229)