Troubleshooting Guide
Common issues, solutions, and debugging strategies for dbt-nexus implementation.
Installation Issues
Package Not Found
Problem: Package 'nexus' not found
Solutions:
- Verify
packages.ymlconfiguration:packages: - git: 'https://github.com/sliderule-analytics/dbt-nexus.git' version: main - Run
dbt depsto install dependencies - Check network connectivity to GitHub
Submodule Issues
Problem: Submodule not updating or showing as modified
Solutions:
- Update submodule:
git submodule update --remote dbt-nexus - Initialize if needed:
git submodule update --init --recursive - Check submodule status:
git submodule status
Configuration Issues
Models Not Building
Problem: Model 'nexus_persons' not found
Solutions:
- Check
sourcesvariable configuration indbt_project.yml - Verify source model naming conventions
- Ensure source models exist and compile successfully
- Run
dbt list --select package:nexusto 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_recursionvalue:vars: nexus_max_recursion: 3 # Reduce from default 5 - Check data quality for circular references
- Review entity 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 entity 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_attimestamps in events - Check state model logic for proper timeline handling
- Ensure state models are added to
nexus_statesunion - Review derived state calculations
Performance Issues
Slow Entity Resolution
Problem: Entity resolution models taking too long to run
Solutions:
- Reduce
nexus_max_recursionvalue - Add incremental materialization:
models: nexus: nexus-models: identity-resolution: +materialized: incremental - 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_atvalues 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
varsconfiguration - Check BigQuery permissions for demo schema creation
- Verify service account has proper access
- Run from package directory:
cd dbt_packages/nexus dbt build
Missing Demo Models
Problem: Expected demo models not appearing
Solutions:
- Run
dbt list --select package:nexusto 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 entity 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
dbt run --debug
dbt test --debug
Check Model Lineage
dbt docs generate
dbt docs serve
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