500 error code and worker timeout when testing connection
- Redash Version: Version: 9.0.0-beta (8d548ecb)
- Browser/OS: Windows 10
- How did you install Redash: Docker-compose
We have a self hosted instance of v9 redash set up on an internal docker host. However, when trying to test the connection of any MSSQL (not ODBC) and prometheus data sources (I have not tried other sources) I get the following output after 30 seconds:
server_1 | [2021-01-22 10:08:24 +0000]  [CRITICAL] WORKER TIMEOUT (pid:74) server_1 | [2021-01-22 10:08:24,894][PID:74][INFO][metrics] method=POST path=/api/data_sources/1/test endpoint=datasourcetestresource status=500 content_type=? content_length=-1 duration=30681.67 query_count=4 query_duration=7.25 server_1 | [2021-01-22 10:08:24 +0000]  [INFO] Worker exiting (pid: 74) server_1 | [2021-01-22 10:08:25 +0000]  [INFO] Booting worker with pid: 86
I noticed a similar topic raised with the same output, but this used kubernetes and was a result of ingress ([TEST CONNECTION] api/data_sources/9/test - bad gateway) but as a newcomer to docker in general I don’t really understand what the equivalent is in my case.
I have tried the following:
- taking a local version and trying from there (no dice)
- removing our LDAP layer (no dice)
- pinging the sql server’s IP from each container locally and in dockerhost (this worked for all containers)
- Tested the parameters I entered with pymssql in python 3 (this worked)
This is the partially redacted docker-compose we are using, is there anything funky with it that anyone can see? Or is there anything obvious I’m missing?
version: "2" x-redash-service: &redash-service build: . depends_on: - postgres - redis env_file: ./.env services: server: <<: *redash-service command: server ports: - "5000:5000" environment: - REDASH_WEB_WORKERS=2 - REDASH_LDAP_LOGIN_ENABLED=true - REDASH_LDAP_URL=REDACTED - REDASH_LDAP_BIND_DN=CN=LDAP_Redash,OU=Service Accounts,DC=REDACT,DC=NET - REDASH_LDAP_BIND_DN_PASSWORD=REDACTED - REDASH_LDAP_SEARCH_DN=OU=Sites,DC=REDACTED,DC=NET - REDASH_LDAP_SEARCH_TEMPLATE=(sAMAccountName=%(username)s) - REDASH_LDAP_DISPLAY_NAME_KEY=cn - REDASH_PASSWORD_LOGIN_ENABLED=false scheduler: <<: *redash-service command: scheduler worker: <<: *redash-service command: worker environment: - QUEUES="periodic emails default" - WORKERS_COUNT=1 query_worker: <<: *redash-service command: worker environment: - QUEUES="scheduled_queries schema queries" - WORKERS_COUNT=1 redis: image: redis:5.0-alpine restart: always postgres: image: postgres:9.6-alpine environment: - POSTGRES_HOST_AUTH_METHOD=trust volumes: - /data/redash/postgres:/var/lib/postgresql/data restart: always nginx: image: redash/nginx:latest ports: - "8901:80" depends_on: - server links: - server:redash restart: always