{"record":{"id":"5fdf3390174c1fbb","repo":"SigNoz/signoz","slug":"could-not-deprovision-dashboards-w","errorCode":null,"errorMessage":"could not deprovision dashboards: %w","messagePattern":"could not deprovision dashboards: %w","errorType":"http","errorClass":"model.ApiError","httpStatus":500,"severity":"error","filePath":"pkg/query-service/app/integrations/manager.go","lineNumber":283,"sourceCode":"\treturn &IntegrationsListItem{\n\t\tIntegrationSummary: integrationDetails.IntegrationSummary,\n\t\tIsInstalled:        true,\n\t}, nil\n}\n\nfunc (m *Manager) UninstallIntegration(\n\tctx context.Context,\n\torgId string,\n\tintegrationId string,\n) *model.ApiError {\n\torgUUID, err := valuer.NewUUID(orgId)\n\tif err != nil {\n\t\treturn model.BadRequest(fmt.Errorf(\"invalid org id: %w\", err))\n\t}\n\n\terr = m.installedIntegrationsRepo.runInTx(ctx, func(ctx context.Context) error {\n\t\tif err := m.deprovisionDashboards(ctx, orgUUID, integrationId); err != nil {\n\t\t\treturn model.InternalError(fmt.Errorf(\"could not deprovision dashboards: %w\", err))\n\t\t}\n\t\tapiErr := m.installedIntegrationsRepo.delete(ctx, orgId, integrationId)\n\t\tif apiErr != nil {\n\t\t\treturn model.WrapApiError(apiErr, \"could not delete installed integration\")\n\t\t}\n\n\t\treturn nil\n\t})\n\tif err != nil {\n\t\treturn model.WrapApiError(model.InternalError(err), \"could not uninstall integration\")\n\t}\n\treturn nil\n}\n\nfunc (m *Manager) GetPipelinesForInstalledIntegrations(\n\tctx context.Context,\n\torgId string,\n) ([]pipelinetypes.GettablePipeline, error) {","sourceCodeStart":265,"sourceCodeEnd":301,"githubUrl":"https://github.com/SigNoz/signoz/blob/5069bf80b08f1f00d7e014eccc09902f9871004f/pkg/query-service/app/integrations/manager.go#L265-L301","documentation":"Internal error raised inside the uninstall transaction when deprovisionDashboards fails to delete the dashboards associated with an integration. It aborts the transaction, so the installed-integration row is also not deleted.","triggerScenarios":"Uninstalling an integration while the dashboard module (CreateV2/delete path) errors — e.g. database issues, missing dashboard rows in an inconsistent state, or dashboard module misconfiguration.","commonSituations":"Partially failed prior installs leaving inconsistent integration_dashboard rows, DB outages, or version drift in the dashboards module.","solutions":["Check query-service logs for the wrapped deprovisionDashboards error","Verify database connectivity and dashboards module health","Repair or remove stale integration_dashboard rows, then retry uninstall","Retry the uninstall after the underlying issue is fixed (it runs in a transaction, so partial state is rolled back)"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":"err := mgr.UninstallIntegration(ctx, orgId, id)\nif err != nil { inspect wrapped 'could not deprovision dashboards' cause; fix stale rows; retry uninstall }","preventionTips":["Keep integration/dashboard tables consistent","Back up before upgrades","Retry uninstall after fixing underlying DB issue"],"tags":["integrations","dashboards","transaction","internal"],"backgroundTag":"cleanup-during-uninstall-failed","analyzedSha":"5069bf80b08f1f00d7e014eccc09902f9871004f","analyzedAt":"2026-08-28T06:22:12.824Z","schemaVersion":2},"datasetVersion":"2026-08-28T11:17:15.048Z"}