SigNoz/signoz · error

CodeInternal

CodeInternal

Error message

unable to fetch license data with upstream server

What it means

SigNoz EE licensing Activate() calls the upstream Zeus license server (GetLicense); any upstream failure is wrapped as CodeInternal with this message.

Source

Thrown at ee/licensing/httplicensing/provider.go:101

	organizations, err := provider.orgGetter.ListByOwnedKeyRange(ctx)
	if err != nil {
		return err
	}

	for _, organization := range organizations {
		err := provider.Refresh(ctx, organization.ID)
		if err != nil {
			return err
		}
	}

	return nil
}

func (provider *provider) Activate(ctx context.Context, organizationID valuer.UUID, key string) error {
	data, err := provider.zeus.GetLicense(ctx, key)
	if err != nil {
		return errors.Wrapf(err, errors.TypeInternal, errors.CodeInternal, "unable to fetch license data with upstream server")
	}

	license, err := licensetypes.NewLicense(data, organizationID)
	if err != nil {
		return errors.Wrapf(err, errors.TypeInternal, errors.CodeInternal, "failed to create license entity")
	}

	storableLicense := licensetypes.NewStorableLicenseFromLicense(license)
	err = provider.store.Create(ctx, storableLicense)
	if err != nil {
		return err
	}

	return nil
}

func (provider *provider) GetActive(ctx context.Context, organizationID valuer.UUID) (*licensetypes.License, error) {
	storableLicenses, err := provider.store.GetAll(ctx, organizationID)

View on GitHub (pinned to 5069bf80b0)

Solutions

  1. Restore outbound connectivity to the SigNoz licensing (Zeus) endpoint from the signoz service
  2. Check proxy/HTTP_PROXY env vars and DNS resolution inside the container
  3. Retry activation once network is confirmed healthy (transient 5xx)
  4. Inspect the wrapped cause error for HTTP status/TLS details and contact SigNoz support if upstream persists
Defensive patterns

Strategy: retry

Try / catch

err := licensing.Activate(ctx, orgID, key)
if err != nil {
	if errors.Ast(err, errors.CodeInternal) && strings.Contains(err.Error(), "upstream") { backoff.Retry(activate, 3) }
}

Prevention

When it happens

Trigger: POST /api/v1/activate (or programmatic licensing.Activate) with a valid-format key while the Zeus server is unreachable, returns 5xx, TLS fails, or the response cannot be retrieved.

Common situations: Egress firewall blocking calls to the SigNoz licensing endpoint; DNS/proxy issues in air-gapped or on-prem deployments; Zeus outage; expired server TLS certs; retry after network partition.

Related errors


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