Troubleshooting Guide¶
Installation Issues¶
Package Not Found¶
Problem: Package 'nexus' not found
Solutions:
- Verify
packages.yml
configuration: - Run
dbt deps
to install dependencies - Check network connectivity to GitHub
Submodule Issues¶
Problem: Submodule not updating or showing as modified
Solutions:
- Update submodule:
- Initialize if needed:
- Check submodule status:
Configuration Issues¶
Models Not Building¶
Problem: Model 'nexus_persons' not found
Solutions:
- Check
sources
variable configuration indbt_project.yml
- Verify source model naming conventions
- Ensure source models exist and compile successfully
- Run
dbt list --select package:nexus
to see available models
Schema Configuration Errors¶
Problem: Multiple 'models:' keys found
Solutions:
- Ensure only ONE
models:
section indbt_project.yml
- Use correct package name (
nexus
, notdbt-nexus
) - Check YAML indentation and structure
Recursion Errors¶
Problem: Recursive CTE exceeded maximum recursion depth
Solutions:
- Adjust
nexus_max_recursion
value: - Check data quality for circular references
- Review identity resolution logic
Data Quality Issues¶
Missing Identities¶
Problem: Persons not resolving across sources
Solutions:
- Verify source model schema compliance
- Check identifier column names and types
- Ensure proper data types (strings for identifiers)
- Review data quality in source systems
Duplicate Entities¶
Problem: Same person appearing multiple times in final tables
Solutions:
- Check identity resolution logic
- Verify edge creation in
nexus_person_identifiers_edges
- Review recursive CTE behavior
- Test with smaller dataset to isolate issues
State Timeline Gaps¶
Problem: Missing or incorrect state transitions
Solutions:
- Verify
occurred_at
timestamps in events - Check state model logic for proper timeline handling
- Ensure state models are added to
nexus_states
union - Review derived state calculations
Performance Issues¶
Slow Identity Resolution¶
Problem: Identity resolution models taking too long to run
Solutions:
- Reduce
nexus_max_recursion
value - Add incremental materialization:
- Consider partitioning for large datasets
- Review data volume and complexity
Memory Issues¶
Problem: Out of memory errors during model execution
Solutions:
- Reduce batch sizes in incremental models
- Add partitioning to large tables
- Optimize recursive CTE depth
- Consider materializing intermediate models
Incremental Model Issues¶
Problem: Incremental models not updating correctly
Solutions:
- Check
_ingested_at
values in source data - Verify incremental strategy configuration
- Review watermark logic in models
- Consider full refresh if logic changes
Demo Data Issues¶
Demo Data Not Building¶
Problem: Demo models failing to compile or run
Solutions:
- Ensure you haven't overridden package
vars
configuration - Check BigQuery permissions for demo schema creation
- Verify service account has proper access
- Run from package directory:
Missing Demo Models¶
Problem: Expected demo models not appearing
Solutions:
- Run
dbt list --select package:nexus
to see available models - Check if demo data configuration is active
- Verify package installation with
dbt deps
- Review package version and compatibility
Database-Specific Issues¶
BigQuery Issues¶
Problem: BigQuery-specific errors or performance issues
Solutions:
- Check service account permissions
- Verify project ID and dataset configuration
- Review BigQuery-specific optimizations in models
- Consider partitioning and clustering strategies
Snowflake Issues¶
Problem: Snowflake-specific errors or performance issues
Solutions:
- Verify warehouse configuration and sizing
- Check Snowflake-specific optimizations
- Review recursive CTE behavior in Snowflake
- Consider clustering keys for large tables
PostgreSQL Issues¶
Problem: PostgreSQL compatibility issues
Solutions:
- Check PostgreSQL version compatibility
- Verify recursive CTE support
- Review data type mappings
- Consider performance tuning for PostgreSQL
Common Error Messages¶
"Column 'X' not found"¶
Cause: Source model schema mismatch Solution: Verify column names and types in source models
"Recursive CTE depth exceeded"¶
Cause: Too many identity resolution iterations Solution: Reduce
nexus_max_recursion
value
"Model 'nexus_X' not found"¶
Cause: Package not installed or configured Solution: Run dbt deps
and
check packages.yml
"Multiple models with name 'X'"¶
Cause: Naming conflicts between project and package models Solution: Use unique model names or proper namespacing
Debugging Strategies¶
Enable Debug Logging¶
Check Model Lineage¶
Verify Data Quality¶
-- Check for null identifiers
SELECT COUNT(*) FROM nexus_person_identifiers
WHERE identifier_value IS NULL;
-- Check for duplicate events
SELECT event_id, COUNT(*) FROM nexus_events
GROUP BY event_id HAVING COUNT(*) > 1;
Test with Minimal Dataset¶
# Run specific source only
dbt run --select source:your_source
dbt run --select package:nexus --models tag:identity-resolution
Getting Help¶
Documentation Resources¶
Community Support¶
Professional Support¶
- SlideRule Analytics
- Custom implementation and consulting services