Troubleshooting
Common issues and resolution procedures for Hematite deployments.
Service Won't Start
| Symptom |
systemctl start noetic-kernel fails with exit code 1 |
| Cause |
Redis connection refused, PostgreSQL unreachable, or port conflict |
| Fix |
# Check Redis connectivity
redis-cli ping
# Check PostgreSQL connectivity
psql -h localhost -U postgres -c "SELECT 1"
# View kernel logs
journalctl -u noetic-kernel --since "5 min ago"
|
Endpoint Failover Not Triggering
| Symptom |
Sessions stuck on a degraded endpoint beyond the failover timeout |
| Cause |
router.failover_timeout set too high, or standby endpoints not responding to health checks |
| Fix |
# Check current failover timeout
hematite config get router.failover_timeout
# Lower the timeout (seconds)
hematite config set router.failover_timeout=30
# Force endpoint health check refresh
curl -X POST https://myorg.hematite.io/api/v1/router/refresh \
-H "Authorization: Bearer $TOKEN"
|
Tantivy Index Out of Sync
| Symptom |
Search returns stale or missing results after content updates |
| Cause |
CDC sync service not running, or index refresh interval too long |
| Fix |
# Check sync service status
systemctl status noetic-sync
# Force index rebuild
curl -X POST https://myorg.hematite.io/api/v1/search/rebuild \
-H "Authorization: Bearer $TOKEN"
# Verify search is working
curl https://myorg.hematite.io/api/v1/search?q=test \
-H "Authorization: Bearer $TOKEN"
|
Session Timeout Too Early
| Symptom |
Active sessions terminate before completion |
| Cause |
session.timeout set too low, or WebSocket connection dropped by a load balancer |
| Fix |
# Increase session timeout (seconds)
hematite config set session.timeout=7200
# Check WebSocket proxy settings on load balancer
# Ensure idle_timeout is >= session.timeout value
|
High Memory Usage
| Symptom |
Kernel crate consuming excessive memory (>8GB) |
| Cause |
Too many concurrent sessions, large prompt payloads, or memory leak in a specific agent type |
| Fix |
# Check active session count per tenant
curl https://myorg.hematite.io/api/v1/sessions/stats \
-H "Authorization: Bearer $TOKEN"
# Limit concurrent sessions per tenant
hematite config set session.max_concurrent=50
# Restart kernel to reclaim memory (sessions resume from Redis)
systemctl restart noetic-kernel
|
Diagnostic Commands
Use these commands to gather system state for support:
# Full system health report
hematite diagnostics health-report > health.json
# Agent pool status
hematite diagnostics agent-pool-status
# Redis connection info
hematite diagnostics redis-info
# PostgreSQL replication lag
hematite diagnostics pg-replication
Support: If the issue persists after following these procedures, share the output of hematite diagnostics health-report with your support contact.
Related Pages