Common Issues
Connection Refused: Neo4j Not Available
Connection Refused: Neo4j Not Available
Symptoms
Causes
- Neo4j service not running
- Neo4j not finished initializing
- Incorrect connection URI
- Network connectivity issues
Solutions
1. Check Neo4j service statusbolt:// protocol:The
depends_on with health check in docker-compose.yml ensures Neo4j is ready:Missing GEMINI_API_KEY Environment Variable
Missing GEMINI_API_KEY Environment Variable
Symptoms
Causes
.envfile not created- Environment variable not set in
.envfile .envfile not in project root directory
Solutions
1. Create .env file from template.env and add your key:.env
Configuration Files Not Found
Configuration Files Not Found
Symptoms
Causes
- Data files not in
data/directory - Incorrect file names
- Files not mounted in Docker container
Solutions
1. Check data directory existsdata/docker-compose.yml- Service definitionsdata/teams.yaml- Team ownership data
data/k8s-deployments.yaml- Kubernetes deployments
data/docker-compose.yml
data/teams.yaml
docker-compose.yml should mount the data directory:Query Parser Initialization Failed
Query Parser Initialization Failed
Symptoms
Causes
- Gemini API authentication failure
- Invalid API key
- Network connectivity to Google AI
- API rate limiting
Solutions
1. Verify API key is validTest the API key directly:Health Check Returns Degraded Status
Health Check Returns Degraded Status
Symptoms
Causes
- Neo4j connection established but query execution failing
- Database locked or in read-only mode
- Cypher query syntax error
Solutions
1. Test Neo4j directlyConfiguration Validation Errors
Configuration Validation Errors
Symptoms
Causes
- Inconsistent service references
- Missing service definitions
- Circular dependencies
- Invalid YAML syntax
Solutions
1. Run validation script- Team ownership labels
- Oncall person labels
- Resource limits
Configuration validation runs automatically during initialization (main.py:164-166), but won’t prevent startup if only warnings are found.
Graph Database Empty After Loading
Graph Database Empty After Loading
Symptoms
Causes
- Configuration files empty or invalid
- Parsing errors silently failing
- Graph cleared but not repopulated
Solutions
1. Check configuration file contentPort Already in Use
Port Already in Use
Symptoms
Causes
- Another Neo4j instance running
- Port conflict with other services
- Previous container not cleaned up
Solutions
1. Find process using the portMemory or Performance Issues
Memory or Performance Issues
Symptoms
- Slow query responses
- High memory usage
- Container restarts
- OOM (Out of Memory) errors
Causes
- Large graph database
- Insufficient container resources
- Memory leaks
- Inefficient Cypher queries
Solutions
1. Monitor resource usageError Messages Reference
Application Errors
| Error Message | Source | Solution |
|---|---|---|
Missing required environment variables | main.py:33 | Create .env file with required variables |
Failed to connect to Neo4j | graph/storage.py:38 | Start Neo4j service, check connection URI |
GEMINI_API_KEY environment variable is required | chat/llm.py:21 | Set API key in .env file |
Query parser not initialized | chat/app.py:149 | Check LLM initialization logs |
Missing required data files | main.py:52 | Add configuration files to data/ directory |
Configuration validation found issues | main.py:68 | Run validate_config.py to see details |
Neo4j Errors
| Error Message | Cause | Solution |
|---|---|---|
ServiceUnavailable | Neo4j not running | Start Neo4j with docker-compose up neo4j |
AuthError | Invalid credentials | Check NEO4J_USER and NEO4J_PASSWORD |
ClientError: Forbidden | Access denied | Verify Neo4j authentication |
TransientError: Database unavailable | Database starting | Wait for health check to pass |
Debugging Tips
Getting Help
Check Logs
Validate Configuration
Health Check
Clean Restart
Next Steps
Deployment Guide
Learn about deployment configuration
Monitoring
Set up health checks and monitoring