Common Issues
Fixes for the problems people hit most often, grouped by where they happen. Start with the run log or the service logs: the error message usually names the cause.
-
Run log: open the failed run in Governor, or read the output of the CLI.
-
Service logs:
docker compose logs backendanddocker compose logs worker, orkubectl logs deployment/governor-apiandkubectl logs deployment/governor-worker.
Installation and sign-in
| Problem | What to do |
|---|---|
|
Usually the connection to Governor’s own database. Check |
Sign-in fails on Governor’s DNS name, but works on |
Governor must be served over HTTPS from any address other than |
Port 80 is already in use |
Stop the service using it, or change the frontend’s host port in |
The frontend can’t use port 80 on Red Hat Enterprise Linux |
SELinux blocks it. See the SELinux steps in Docker Compose. |
Everyone is signed out after a restart |
|
Stored data source passwords stop working after a restart |
|
For the demo, see Quick Start troubleshooting.
Licensing
| Problem | What to do |
|---|---|
A data source is "not supported in the free version" |
Governor or the CLI is running without a license key, in free mode. Set |
A PostgreSQL, MySQL or MariaDB data source hits a limit of 20 tables or 100,000 rows |
These are free mode’s limits. Add your license key. |
The AWS Marketplace product doesn’t find its license |
Set |
Connections
| Problem | What to do |
|---|---|
"Connection refused", or the connection times out |
Check the host and port in the JDBC URL, that the database is running, and that firewalls allow the connection. Runs connect from the worker or the CLI that runs them, so the database must be reachable from there, not only from your machine. |
An SSL or TLS handshake error |
|
Authentication fails |
Check the user name and password, and that the user isn’t locked. With a secret manager, check that it’s turned on and that the platform can read the secret. See Secret Managers. |
"Permission denied" or "insufficient privileges" |
Grant the platform’s user the permissions in Database Permissions: read on the input, and write on the output. |
A Kerberos error |
|
An error that names a JDBC URL parameter |
Check the URL format for your database in Database Integrations. On the command line, put URLs that contain |
Workers
| Problem | What to do |
|---|---|
A run stays |
Check Administration > Workers: at least one worker must be connected. A worker takes a run only when both the input and the output data sources are in one of its worker groups, or the worker’s group is |
A worker doesn’t appear under Administration > Workers |
The worker can’t reach Governor’s gRPC port, |
A worker is rejected after you turn on mutual TLS |
Its certificate must be signed by the CA Governor trusts, and Governor’s certificate must name the host the worker dials. See Worker–Governor mTLS. |
Runs
| Problem | What to do |
|---|---|
The run stops at a column that no rule matches |
With |
A foreign key constraint fails in the output |
Check that the relationship is defined. Declare relationships the database doesn’t have as virtual foreign keys. |
A unique or primary key constraint fails in the output |
The output tables may already hold rows from an earlier run. Set |
"Failed to claim sink. Synthesized Platform is already running." |
Another run is writing to the same output, or an earlier run didn’t release its lock. See Database locking issues. Two runs at the same time need different output databases. |
"Out of memory" |
See Memory. |
The run fails on one database’s data type or value |
Collect diagnostics
To show support the structure of the input database without its data, run the diagnostic tool. It writes a summary to a CSV file:
tdk -iu '<jdbc url>' -iU <user> -ip <password> diagnostic -f report.csv