Area: Observability
Sub-Area: Incident Response
Issue
Data incidents (quality issues, downtime, pipeline failures) are not being properly tracked or communicated in DataHub, or the incident workflow is not clear. Organizations need a systematic way to document and resolve data issues.
You Might Be Asking:
- How do I create and track data incidents?
- Can DataHub integrate with our incident management system?
- How do I notify stakeholders about data issues?
Solution
- Create incident via UI:
1. Navigate to the affected dataset
2. Click "Incidents" tab
3. Click "Raise Incident"
4. Fill in details:
- Title and description
- Severity (P0-P4)
- Type (Operational, Quality, Schema Change, etc.)
- Affected entities
5. Assign to owner/team
6. Add relevant stakeholders
7. Save and notify
- Create incident via GraphQL:
mutation raiseIncident {
raiseIncident(
input: {
type: DATA_QUALITY
title: "Sales table contains negative amounts"
description: "Discovered negative values in amount column"
priority: 1 # P0 = 0, P1 = 1, etc.
resourceUrn: "urn:li:dataset:(urn:li:dataPlatform:snowflake,db.schema.sales,PROD)"
status: ACTIVE
}
) {
urn
}
}
- Automate incident creation from assertion failures:
# DataHub Actions configuration
action:
type: "raise_incident"
config:
# Trigger on assertion failure
filters:
- type: "assertion_result"
status: "FAILURE"
# Auto-create incidents for critical assertions
severity_mapping:
CRITICAL: 0 # P0
HIGH: 1 # P1
MEDIUM: 2 # P2
# Notification
notify_owners: true
slack_webhook: "${SLACK_WEBHOOK}"
- Update incident status:
mutation updateIncident {
updateIncident(
input: {
urn: "urn:li:incident:12345"
status: RESOLVED
message: "Fixed by correcting upstream ETL job"
}
)
}
- Integrate with external incident management:
# Listen to DataHub incident events and forward to PagerDuty/ServiceNow
from datahub.emitter.kafka_emitter import DatahubKafkaEmitter
def on_incident_created(event):
# Forward to PagerDuty
pagerduty_client.create_incident(
title=event['title'],
service_id=SERVICE_ID,
urgency='high' if event['priority'] <= 1 else 'low',
body=event['description']
)
# Subscribe to incident events
# Subscribe to MetadataChangeLog_v1 topic, filter for incident entities
- Query incident history:
query {
dataset(urn: "YOUR_URN") {
incidents(start: 0, count: 20) {
incidents {
urn
type
title
status
created {
time
actor
}
resolved {
time
actor
}
}
}
}
}
Additional Notes
Use incidents to track data quality issues, pipeline failures, schema breaking changes, or any data-related problems. Link incidents to affected datasets for full context. Consider integrating with your existing incident management workflow.
Related Documentation
Tags:
incidents, data-downtime, incident-management, data-quality, observability, sla, data-reliability, alerting