Slim
06/10/2026, 11:48 PMkapa.ai
06/10/2026, 11:48 PMabctl (which uses an nginx ingress), the default nginx timeout is 60 seconds. If the connection check takes longer than that, you'll get a 504 even if the underlying operation eventually succeeds. [nginx timeout issue]
How to Fix Option 1: Ensure your Databricks cluster is already running before triggering the connection check in Airbyte. This is the simplest workaround. [Databricks timeout forum]
Option 2: Increase the nginx ingress timeout by adding annotations to your ingress resource:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: airbyte-ingress
namespace: airbyte
annotations:
nginx.ingress.kubernetes.io/proxy-read-timeout: '600'
nginx.ingress.kubernetes.io/proxy-send-timeout: '600'
spec:
ingressClassName: ingress-nginx-internal
...
[nginx timeout fix]
Option 3: Set the BASIC_AUTH_PROXY_TIMEOUT environment variable (for Docker-based deployments):
BASIC_AUTH_PROXY_TIMEOUT=600
[proxy timeout env var]
Where to Find Logs Since you're on Airbyte OSS, you can check logs in several ways:
• In the UI: Navigate to the connection's Job History tab → click the three grey dots next to a sync → select View logs. Search for Error, Exception, or Fail.
• Download logs: Use the Download logs option from the same menu to get the full log file locally.
• Pod logs: Since abctl runs on Kubernetes, you can also check the logs of the relevant pods (e.g., airbyte-worker, airbyte-server) using kubectl logs. [browsing logs docs]
The 504 is most likely a timeout issue rather than a credentials problem, so I'd start by making sure your Databricks cluster is already running before testing the connection. 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.Slim
06/10/2026, 11:52 PMkapa.ai
06/10/2026, 11:53 PMabctl, first get access to your cluster:
# Get cluster name
kind get clusters
# Export kubeconfig
kind export kubeconfig --name airbyte-abctl
# Check current ingress
kubectl get ingress -n airbyte-abctl
Then patch the ingress with increased timeouts:
kubectl annotate ingress airbyte-ingress \
-n airbyte-abctl \
nginx.ingress.kubernetes.io/proxy-read-timeout="600" \
nginx.ingress.kubernetes.io/proxy-send-timeout="600" \
--overwrite
Or apply a full ingress YAML. Create a file (e.g., airbyte-ingress-patch.yaml) with:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: airbyte-ingress
namespace: airbyte-abctl
annotations:
nginx.ingress.kubernetes.io/proxy-read-timeout: '600'
nginx.ingress.kubernetes.io/proxy-send-timeout: '600'
spec:
ingressClassName: ingress-nginx-internal
Then apply it:
kubectl apply -f airbyte-ingress-patch.yaml
[nginx timeout fix]
Option 3: Set BASIC_AUTH_PROXY_TIMEOUT (Docker .env file) > ⚠️ This option applies to Docker Compose deployments, not abctl. Since you're using abctl, Option 2 is the more relevant fix for your setup.
If you were on a Docker deployment, the .env file is located at:
~/airbyte/.env
You would edit it and set:
BASIC_AUTH_PROXY_TIMEOUT=600
Then restart Airbyte:
docker-compose down && docker-compose up -d
[proxy timeout env var]
Summary For your abctl on Azure VM setup, focus on Option 2. The key commands are:
kind get clusters
kind export kubeconfig --name airbyte-abctl
kubectl get ingress -n airbyte-abctl
kubectl annotate ingress airbyte-ingress -n airbyte-abctl \
nginx.ingress.kubernetes.io/proxy-read-timeout="600" \
nginx.ingress.kubernetes.io/proxy-send-timeout="600" \
--overwrite
Note that the exact ingress and namespace names may differ slightly — use kubectl get ingress -n airbyte-abctl to confirm the actual names in your deployment. 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.Slim
06/11/2026, 12:03 AMcat > ~/values.yaml <<'EOF'
jobs:
resources:
requests:
cpu: "250m"
memory: "1Gi"
limits:
cpu: "2"
memory: "4Gi"
EOF
abctl local install --values ~/values.yaml
do you think it's a good idea and might solve the problem? because looking at logs it said OOM killed on databricks checkkapa.ai
06/11/2026, 12:03 AMjobs.resources path in values.yaml only sets resources for sync jobs, not for check, discover, or spec jobs. Since your OOM is happening during a Databricks destination check, those limits won't apply. [GitHub Issue]
More Complete Fix You need to set all job-type-specific variables. A more complete values.yaml would be:
global:
env_vars:
JOB_MAIN_CONTAINER_CPU_REQUEST: "250m"
JOB_MAIN_CONTAINER_CPU_LIMIT: "2"
JOB_MAIN_CONTAINER_MEMORY_REQUEST: "1Gi"
JOB_MAIN_CONTAINER_MEMORY_LIMIT: "4Gi"
CHECK_JOB_MAIN_CONTAINER_CPU_REQUEST: "250m"
CHECK_JOB_MAIN_CONTAINER_CPU_LIMIT: "2"
CHECK_JOB_MAIN_CONTAINER_MEMORY_REQUEST: "1Gi"
CHECK_JOB_MAIN_CONTAINER_MEMORY_LIMIT: "4Gi"
DISCOVER_JOB_MAIN_CONTAINER_CPU_REQUEST: "250m"
DISCOVER_JOB_MAIN_CONTAINER_CPU_LIMIT: "2"
DISCOVER_JOB_MAIN_CONTAINER_MEMORY_REQUEST: "1Gi"
DISCOVER_JOB_MAIN_CONTAINER_MEMORY_LIMIT: "4Gi"
SPEC_JOB_MAIN_CONTAINER_CPU_REQUEST: "250m"
SPEC_JOB_MAIN_CONTAINER_CPU_LIMIT: "2"
SPEC_JOB_MAIN_CONTAINER_MEMORY_REQUEST: "1Gi"
SPEC_JOB_MAIN_CONTAINER_MEMORY_LIMIT: "4Gi"
Then reinstall:
abctl local install --values ~/values.yaml
[GitHub Issue]
⚠️ Additional Caveat There is also a known open bug where resource limits set via values.yaml and env vars are ignored by the workload-launcher in newer Airbyte versions (including abctl deployments), with pods defaulting to hardcoded values regardless of configuration. [GitHub Issue]
If the above doesn't work, a confirmed workaround is to set resources directly in the Airbyte database:
update actor_definition
set resource_requirements = '{
"jobSpecific": [
{
"jobType": "check_connection",
"resourceRequirements": {
"memory_limit": "4Gi",
"memory_request": "2Gi"
}
}
]
}'::jsonb,
updated_at = now()
where id = '<your-databricks-actor-definition-id>';
[GitHub Issue]
To find the Databricks actor definition ID, connect to the Airbyte internal database and run:
select * from actor_definition where docker_repository like '%databricks%';
[Connector Resources Docs] 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.