SigNoz/signoz · error
could not create integration_dashboard row for slug %s: %w
Error message
could not create integration_dashboard row for slug %s: %w
What it means
Error returned by provisionDashboards when createIntegrationDashboard fails to insert the integration_dashboard row linking the newly created dashboard to the integration. Aborts the install transaction.
Source
Thrown at pkg/query-service/app/integrations/manager.go:446
for _, dd := range integration.Assets.Dashboards {
if dd.ID == "" {
continue
}
slug := cloudintegrationtypes.InstalledIntegrationDashboardSlug(bareIntegrationID, dd.ID)
existing, err := m.installedIntegrationsRepo.getIntegrationDashboardBySlug(ctx, orgID.StringValue(), slug)
if err == nil && existing != nil {
continue
}
createdDashboard, err := m.dashboardModule.CreateV2(ctx, orgID, createdBy, creator, dashboardtypes.SourceIntegration, dd.Definition)
if err != nil {
return fmt.Errorf("could not create dashboard for slug %s: %w", slug, err)
}
row := cloudintegrationtypes.NewStorableIntegrationDashboard(createdDashboard.ID.StringValue(), cloudintegrationtypes.IntegrationDashboardInstalledIntegrationProvider, slug)
if err := m.installedIntegrationsRepo.createIntegrationDashboard(ctx, row); err != nil {
return fmt.Errorf("could not create integration_dashboard row for slug %s: %w", slug, err)
}
}
return nil
}
func (m *Manager) deprovisionDashboards(
ctx context.Context,
orgID valuer.UUID,
integrationID string,
) error {
integrationID = strings.TrimPrefix(integrationID, "builtin-")
slugPrefix := cloudintegrationtypes.InstalledIntegrationDashboardSlugPrefix(integrationID)
rows, err := m.installedIntegrationsRepo.listIntegrationDashboardsBySlugPrefix(ctx, orgID.StringValue(), slugPrefix)
if err != nil {
return err
}
for _, row := range rows {View on GitHub (pinned to 5069bf80b0)
Solutions
- Check logs for the wrapped DB error
- Remove stale integration_dashboard rows for that slug/org, then retry
- Verify DB connectivity and constraints
- Retry the install (transaction rolls back the created dashboard)
Defensive patterns
Strategy: retry
Try / catch
if err := m.installedIntegrationsRepo.createIntegrationDashboard(ctx, row); err != nil { check unique violation; delete stale row; retry once; else abort } Prevention
- Clean stale integration_dashboard rows before reinstalling
- Idempotency-check prior installs
When it happens
Trigger: DB insert failure (constraint violation, connectivity, unique-key conflict on an existing row) after the dashboard was successfully created.
Common situations: Leftover integration_dashboard rows from a previous partial install colliding with unique constraints; DB outage mid-install.
Related errors
- could not deprovision dashboards: %w
- could not create dashboard for slug %s: %w
- couldn't create cloud integration service account: %w
- failed to update deploy status
- couldn't get attribute keys: %w
AI-assisted analysis of SigNoz/signoz@5069bf80b0 (2026-08-28).
Data as JSON: /api/errors/cc494365662997fe.
Report an issue: GitHub.