TencentCloud/TencentDB-Agent-Memory · warning

[offload-client] ingestL15 returned ${response.status}

Error message

[offload-client] ingestL15 returned ${response.status}

What it means

OffloadApiClient.ingestL15 is a fire-and-forget call that POSTs prompt + recent messages to the Offload Server v2 /v2/offload/ingest endpoint to trigger the L1.5 task-judgment path. It never throws; when the server responds with a non-2xx status the client only logs this warning so the agent conversation can continue without memory offload. The warning means the server was reached (an HTTP response came back) but rejected or failed the request.

Source

Thrown at MemoryCore/src/offload-client/offload-api-client.ts:110

    };
    if (recentMessages && recentMessages.length > 0) payload.recent_messages = recentMessages;
    const body = JSON.stringify(payload);

    try {
      const controller = new AbortController();
      const timer = setTimeout(() => controller.abort(), this.config.ingestTimeoutMs);

      const response = await fetch(url, {
        method: "POST",
        headers: this.buildHeaders(),
        body,
        signal: controller.signal,
      });

      clearTimeout(timer);

      if (!response.ok) {
        this.logger.warn(`[offload-client] ingestL15 returned ${response.status}`);
      }
    } catch (err) {
      this.logger.warn(`[offload-client] ingestL15 failed: ${err}`);
    }
  }

  /**
   * Synchronous compaction call. Returns compressed messages + report.
   * Returns null on timeout/failure (caller should keep original messages).
   */
  async compaction(req: {
    sessionId: string;
    messages: any[];
    ratio: number;
    contextWindow: number;
    totalTokens: number;
    messageTokens?: number[];
  }): Promise<CompactionResult | null> {

View on GitHub (pinned to 3efcd317b8)

Solutions

  1. Check the logged status code: 401/403 → fix OffloadClientConfig.apiKey and serviceId; 404 → verify serverUrl points to the Offload Server v2 root; 5xx → inspect server logs.
  2. Call checkHealth() first (GET /v2/offload/health) to confirm the server is reachable and the URL is correct.
  3. Verify the Offload Server is v2 and running at the configured serverUrl (curl the health endpoint manually).
  4. If the payload may be large, trim prompt/recentMessages before calling ingestL15.
  5. This is non-fatal by design — if offload is optional, you can safely ignore the warning and rely on local memory.

Example fix

// before: fire-and-forget with no status surfaced to caller
await client.ingestL15(sessionId, prompt);
// after: guard with a health check and log configuration context
if (!(await client.checkHealth())) {
  logger.warn("offload server unreachable, skipping L1.5 ingest");
} else {
  await client.ingestL15(sessionId, prompt);
}
Defensive patterns

Strategy: fallback

Validate before calling

const health = await client.checkHealth();
if (!health) logger.warn("offload server unreachable — L1.5 ingest will be skipped");

Try / catch

try {
  await client.ingestL15(sessionId, prompt);
} catch (err) {
  // should not throw, but guard anyway
  logger.warn(`ingestL15 skipped: ${err}`);
}

Prevention

When it happens

Trigger: ingestL15() is called and fetch() completes but response.ok is false — e.g. the server returns 401/403 for a bad or missing apiKey, 404 because serverUrl points at a wrong path or older server version without /v2/offload/ingest, 413 for an oversized prompt/recentMessages payload, or 5xx from a server-side error. Also triggered when the AbortController fires (ingestTimeoutMs exceeded), though that path logs the catch-branch message instead.

Common situations: Offload server not yet deployed or running an older API version; misconfigured serverUrl (wrong port or trailing path); stale or rotated API key / service ID (X-TDAI-Service-Id) after environment changes; server restarted or overloaded returning 502/503; very long prompts pushing the payload past server limits.

Related errors


AI-assisted analysis of TencentCloud/TencentDB-Agent-Memory@3efcd317b8 (2026-09-01). Data as JSON: /api/errors/b3e8ba8cc25f8f74. Report an issue: GitHub.