Troubleshooting
This page is designed to help you quickly diagnose and resolve common issues that may arise while operating the Privacera Diagnostics Tool. Whether you are dealing with database lock errors, pod readiness failures, SocketIO connection drops, or storage pressure, this guide offers effective solutions and best practices to support efficient resolution and minimize disruption.
Database Issues
| Symptom | Description |
database is locked in server logs | SQLite busy timeout is too low, or the SQLite file is on an EFS/NFS mount. Raise DIAG_SERVER_SQLITE_BUSY_TIMEOUT_MS; consider migrating to MariaDB. |
MariaDB Too many connections error | Pool and overflow together exceed MariaDB's max_connections limit. Raise MariaDB max_connections or reduce DIAG_SERVER_DB_POOL_OVERFLOW. |
Slow DB session warnings (>5000ms) | EFS/NFS storage or disk pressure on the volume hosting the SQLite file. Migrate SQLite to EBS-backed storage or switch to MariaDB. |
| Heartbeats lost during brief DB downtime | The in-memory heartbeat queue is too small to buffer spikes during a transient outage. Raise DIAG_SERVER_SQLITE_HEARTBEAT_QUEUE_MAX_SIZE. |
Pod and Kubernetes Issues
| Symptom | Description |
| Pod flips Not Ready intermittently | The readiness probe window is too tight, causing transient SQLite lock errors to mark the pod unhealthy. Raise DIAG_SERVER_SQLITE_READINESS_WINDOW_SIZE to 5. |
Semaphore wait: Xms warnings in logs | Too many concurrent requests are competing for the DB session semaphore. Check the CPU count and raise DIAG_SERVER_SQLITE_MAX_CONCURRENT_SESSIONS by 2–4. |
SocketIO Issues
| Symptom | Description |
| Browser clients dropping SocketIO connections | The ping timeout is too low for the network latency between the browser and the server. Raise DIAG_SERVER_SOCKETIO_PING_TIMEOUT to 120. |