SigNoz/signoz · error · basemodel.ApiError

ingestion keys search response not as expected

Error message

ingestion keys search response not as expected

What it means

An ingestion key with the expected cloudProviderKeyName was found in the search results, but its Value field is empty. This guard fails early because an empty key cannot be used for connection params.

Source

Thrown at ee/query-service/app/api/cloudIntegrations.go:245

	if apiErr != nil {
		return "", basemodel.WrapApiError(
			apiErr, "couldn't search for cloudprovider ingestion key",
		)
	}

	if searchResult.Status != "success" {
		return "", basemodel.InternalError(fmt.Errorf(
			"couldn't search for cloudprovider ingestion key: status: %s, error: %s",
			searchResult.Status, searchResult.Error,
		))
	}

	for _, k := range searchResult.Data {
		if k.Name == cloudProviderKeyName {
			if len(k.Value) < 1 {
				// Fail early if actual response structure and expectation here ever diverge
				return "", basemodel.InternalError(fmt.Errorf(
					"ingestion keys search response not as expected",
				))
			}

			return k.Value, nil
		}
	}

	slog.InfoContext(ctx, "no existing ingestion key found for cloud integration, creating a new one",
		"cloud_provider", cloudProvider,
	)
	createKeyResult, apiErr := requestGateway[createIngestionKeyResponse](
		ctx, gatewayUrl, licenseKey, "/v1/workspaces/me/keys",
		map[string]any{
			"name": cloudProviderKeyName,
			"tags": []string{"integration", cloudProvider},
		},
	)

View on GitHub (pinned to 5069bf80b0)

Solutions

  1. Retry after a short delay to allow the key value to propagate
  2. Inspect the raw search response to confirm the value field path is unchanged
  3. Delete and recreate the malformed key via the gateway if it is permanently empty
  4. Report schema drift if the field moved
Defensive patterns

Strategy: retry

Try / catch

On empty-value errors, retry after a delay; if persistent, treat as schema drift and alert.

Prevention

When it happens

Trigger: The gateway search succeeds and returns a key entry named as expected but with an empty value — e.g. a key created but not yet materialized, or a response shape change dropping the value field.

Common situations: Eventual consistency on the gateway side right after key creation, partial key records, or upstream schema drift.

Understand the failure class

Background: Schema validation failed / invalid input schema: payload rejected because its shape doesn't match the expected schema — this error's family across 28 libraries.

Related errors


AI-assisted analysis of SigNoz/signoz@5069bf80b0 (2026-08-28). Data as JSON: /api/errors/e67d5fc48270ca87. Report an issue: GitHub.