Aasim ali
02/28/2026, 4:53 AMkapa.ai
02/28/2026, 4:53 AMads_insights, ads_insights_action_type, etc.) to show their fields. [Select fields]
4. Deselect (toggle off) any fields you don’t actually need to sync. By default, all detected fields are selected, so you’ll likely need to unselect many of them. [Select fields]
5. Click Save changes. If prompted with Stream configuration changed, choose to Refresh the affected streams so the destination is rebuilt consistently. [Select fields]
6. Then click Save connection and re‑run the sync.
In the Facebook Marketing issue you’re seeing, the connector explicitly advises: “Please reduce the number of fields requested. Go to the schema tab, select your source, and unselect the fields you do not need.” [FB sync issue]
If, after significantly reducing fields, the error persists, the knowledge sources don’t provide further troubleshooting steps beyond this field‑reduction approach. 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.Aasim ali
02/28/2026, 5:23 AMkapa.ai
02/28/2026, 5:23 AMads stream as INCOMPLETE, and then raising a generic:
> TransientErrorException: Some streams were unsuccessful due to a source error. See logs for details.
From the knowledge sources, this pattern means:
• The real/root error is in the source connector, not in S3. The destination only knows that the stream never completed successfully, so it marks it INCOMPLETE and throws TransientErrorException. [S3 partial msg issue; FB sync issue]
• For Facebook Marketing–type sources, one known cause is requesting too many fields, which leads to a source failure and then the same INCOMPLETE + TransientErrorException pattern on the destination side. The recommended fix there is to reduce the number of selected fields in the schema. [FB sync issue]
Given that:
1. Open the failing connection in Airbyte and check the logs for the source (not just the destination) for the same time window; that’s where the concrete error message will be.
2. If this is a Facebook Marketing / similar ads source and you see “Please reduce the number of fields requested” or similar in the source logs, follow the guidance:
◦ Go to the Schema tab of the connection.
◦ For the ads (and related) streams, unselect fields you don’t need so fewer columns are requested. [FB sync issue]
◦ Save and re‑run the sync.
3. If the source logs show a different error (rate limit, API error, etc.), you’ll need to address that specific source‑side issue; the provided knowledge sources don’t include more detailed S3‑specific troubleshooting beyond pointing to the source error. [S3 troubleshooting]
The knowledge sources do not provide a more specific root cause for null.ads with S3 beyond “source error,” so you’ll need to rely on the source logs to identify the exact problem. 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.kapa.ai
02/28/2026, 5:25 AM"Please reduce the amount of data you're asking for, then retry your request"
for the ads endpoint, and this source failure is what causes the INCOMPLETE stream and TransientErrorException on the S3 destination. [FB sync issue]
In Airbyte, the only documented mitigation is to reduce what you request from that stream:
1. In the Airbyte UI, open the failing connection.
2. Go to the Schema tab.
3. Find the ads stream.
4. Unselect as many non‑essential fields as possible (for example, keep only id, name, status, adset_id, campaign_id, created_time, updated_time to start, and deselect the rest like creative, targeting, tracking_specs, conversion_specs, recommendations, etc.).
5. Save the schema changes and re‑run the sync.
The GitHub issue with the same error message confirms that this is a Facebook API limitation and that the connector surfaces it as:
> “Please reduce the number of fields requested. Go to the schema tab, select your source, and unselect the fields you do not need.” [FB sync issue]
The knowledge sources do not provide a more granular rule (e.g., exact max number of fields), so you may need to iteratively reduce fields until the sync succeeds. 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.Aasim ali
02/28/2026, 5:25 AMkapa.ai
02/28/2026, 5:25 AMads stream schema so each request is lighter. [FB sync issue] 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.Aasim ali
02/28/2026, 5:29 AMkapa.ai
02/28/2026, 5:29 AMJOB_KUBE_NODE_SELECTORS is configured via your Helm values.yaml, not directly inside Airbyte. To check its value, look at the jobs.kube.nodeSelector section in the values file you used to deploy Airbyte.
For Helm chart v1 / v2, the mapping is:
• Environment variable: JOB_KUBE_NODE_SELECTORS
• Helm values key: jobs.kube.nodeSelector [Values v2; Env→Helm map]
So:
1. Open the values.yaml you used for the deployment.
2. Find:
jobs:
kube:
nodeSelector: {...}
3. Whatever is under nodeSelector is the value that will be exposed as JOB_KUBE_NODE_SELECTORS. [Values v2]
If you’re running an existing release and don’t have the file handy, you can also inspect the generated ConfigMap that holds env vars (e.g., airbyte-airbyte-env or similar) and look for the JOB_KUBE_NODE_SELECTORS key. [Helm env CM] 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.Aasim ali
02/28/2026, 5:42 AMkapa.ai
02/28/2026, 5:42 AMJOB_KUBE_NODE_SELECTORS, but they do clarify what it controls and how it’s configured.
JOB_KUBE_NODE_SELECTORS (or its Helm v2 equivalent global.jobs.kube.nodeSelector) affects where Airbyte job pods (sync/check/discover/spec) are scheduled, not the long‑running “static” services. [Config jobs; Helm v2 mapping]
In Helm chart v2, you set it like:
global:
jobs:
kube:
nodeSelector:
type: jobs
and then job pods launched by the workload launcher / worker / orchestrator use that selector. [Multiple node groups]
Because this is a Helm‑level configuration for how new job pods are created, the documented pattern is to update values.yaml and redeploy the Helm release, which will roll the relevant components (e.g., workloadLauncher, worker, containerOrchestrator / orchestrator) and ensure all new job pods use the updated selector. [Multiple node groups; Values reference]
The docs do not provide a minimal “restart only pod X” instruction, so the safest documented approach is:
• Change jobs.kube.nodeSelector / global.jobs.kube.nodeSelector in values.yaml.
• Apply via Helm upgrade so the deployment is reconciled and future job pods pick up the new value. 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.Aasim ali
03/09/2026, 1:46 PMkapa.ai
03/09/2026, 1:46 PMads stream. This is the same error pattern documented for the Facebook Marketing source connector. [FB sync issue]
In Airbyte, the connector surfaces this as:
> “Please reduce the number of fields requested. Go to the schema tab, select your source, and unselect the fields you do not need.” [FB sync issue]
To mitigate:
1. In the Airbyte UI, open the connection that uses the Facebook Marketing source.
2. Go to the Schema tab.
3. Find and expand the ads stream.
4. Deselect as many non‑essential fields as possible. For example, start by keeping only a minimal set (e.g., id, name, status, adset_id, campaign_id, created_time, updated_time) and unselect heavier fields like creative, targeting, tracking_specs, conversion_specs, recommendations, etc.
5. Click Save changes / Save connection and re‑run the sync.
The knowledge sources do not specify an exact maximum number or combination of fields allowed by Meta; if the error persists, you’ll need to iteratively reduce the selected fields in ads until the sync succeeds. [FB sync issue] 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.Aasim ali
03/09/2026, 1:46 PMkapa.ai
03/09/2026, 1:47 PMproduct_id as a breakdown, and it’s being investigated; there is no confirmation in the sources that a newer version has fixed it. [Custom stream bug]
So, based on the available information:
• Upgrading to a newer connector version may include improvements (e.g., better job splitting), but the sources do not confirm that any specific version fully eliminates this Meta API error.
• The only documented and recommended mitigation remains: reduce the number of requested fields and/or narrow the request (time range, breakdowns) in the schema/config. [FB sync issue; 9000 ads issue] 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.Aasim ali
03/18/2026, 7:16 PMkapa.ai
03/18/2026, 7:16 PMapiVersion: v1
kind: Secret
metadata:
name: airbyte-config-secrets
type: Opaque
stringData:
database-host: ""
database-port: "5432"
database-name: airbyte
database-user: postgres
database-password: 7pOd2fN
# GCP Secrets
gcp.json: |
{
"type": "service_account",
"project_id": "your-project-id",
"private_key_id": "your-private-key-id",
"private_key": "-----BEGIN PRIVATE KEY-----\n<YOUR_PRIVATE_KEY>\n-----END PRIVATE KEY-----\n",
"client_email": "your-service-account@your-project-id.iam.gserviceaccount.com",
"client_id": "your-client-id",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/your-service-account%40your-project-id.iam.gserviceaccount.com"
}
[GCS storage secret; GCS enterprise secret]
A few notes:
• Replace the s3-access-key-id and s3-secret-access-key fields with the gcp.json key containing your GCP service account credentials JSON blob.
• The gcp.json value should be the full service account JSON file content.
• Alternatively, you can create the secret from a file using `kubectl`:
kubectl create secret generic airbyte-config-secrets \
--from-literal=database-host='' \
--from-literal=database-port='5432' \
--from-literal=database-name='airbyte' \
--from-literal=database-user='postgres' \
--from-literal=database-password='7pOd2fN' \
--from-file=gcp.json \
--namespace airbyte
[GCS enterprise secret] 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.Aasim ali
03/23/2026, 12:47 AMkapa.ai
03/23/2026, 12:48 AMJOB_MAIN_CONTAINER_MEMORY_REQUEST and JOB_MAIN_CONTAINER_MEMORY_LIMIT environment variables. [Memory scaling]
• Or via the connection-level resource_requirements in the database (for Kubernetes deployments):
UPDATE connection
SET resource_requirements = '{"memory_limit": "20Gi", "memory_request": "13Gi"}'
WHERE id = '<your-connection-id>';
[Java heapspace issue]
See the Configuring connector resources docs for details. [Scaling Airbyte]
2. Reduce the number of selected fields
Your query is selecting 24 columns, some of which (like raw_data, violation_description, content_hash) may contain large variable-length data. Reducing the number of fields in the schema tab will reduce per-row memory usage. [Scaling Airbyte]
3. Be aware of known limitations
Even after increasing memory, OOMs can still occur unpredictably if rows have variable-length columns (TEXT, JSON, arrays) with high size variance, because the JDBC fetch size estimator only samples the first few rows and can underestimate actual row sizes. [JDBC fetchSize issue]
The knowledge sources do not provide a guaranteed fix for CockroachDB specifically beyond increasing memory and reducing fields — the CockroachDB connector issue with large tables was reported as a potential memory leak that was recommended for a GitHub issue investigation. [CockroachDB OOM] 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.Aasim ali
03/23/2026, 1:34 AMkapa.ai
03/23/2026, 1:34 AMvalues.yaml)
Set these environment variables in your Helm `values.yaml`:
global:
env_vars:
JOB_MAIN_CONTAINER_MEMORY_REQUEST: "8Gi"
JOB_MAIN_CONTAINER_MEMORY_LIMIT: "16Gi"
JAVA_OPTS: "-XX:+ExitOnOutOfMemoryError -XX:MaxRAMPercentage=80.0 -XX:+UseG1GC"
[Java heapspace issue]
The MaxRAMPercentage=80.0 is important — by default Java connectors only use 1/4 of the container's allocated memory, so even with a large limit, the JVM heap stays small unless you override this. [Memory scaling]
Option 2: Connection-specific (via database)
UPDATE connection
SET resource_requirements = '{"memory_limit": "16Gi", "memory_request": "8Gi", "cpu_limit": "2", "cpu_request": "1"}'
WHERE id = 'd8ac7cfb-c-4fc3-8ec2-e4b0416d8f75';
[Configuring connector resources]
Also Reduce Selected Fields
Your previous query selected 24 columns including potentially large ones like raw_data, violation_description, and content_hash. Deselecting heavy fields in the Schema tab will reduce per-row memory consumption. [Scaling Airbyte]
Important Caveat
Even after increasing memory, OOMs can still occur with large tables if rows have variable-length columns (TEXT, JSON) whose sizes are underestimated by the JDBC fetch size sampler. The knowledge sources note this was flagged as a potential memory issue in the CockroachDB connector itself. [CockroachDB OOM] 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.Aasim ali
03/23/2026, 1:43 AMkapa.ai
03/23/2026, 1:43 AMglobal:
env_vars:
JOB_MAIN_CONTAINER_MEMORY_REQUEST: "32Gi"
JOB_MAIN_CONTAINER_MEMORY_LIMIT: "48Gi"
JAVA_OPTS: "-XX:+ExitOnOutOfMemoryError -XX:MaxRAMPercentage=80.0 -XX:+UseG1GC"
The MaxRAMPercentage=80.0 is critical — without it, the JVM will only use 25% of the container's memory limit as heap, even if you've set a large limit. [Java heapspace issue]
2. Set connection-specific resource requirements
UPDATE connection
SET resource_requirements = '{"memory_limit": "48Gi", "memory_request": "32Gi"}'
WHERE id = 'd8ac7cfb-75bc-4fc3-8ec2-e4b0416d8f75';
[Configuring connector resources]
3. Important caveat on orchestrator memory
There is an open known issue where the container orchestrator ignores CONTAINER_ORCHESTRATOR_MEMORY_LIMIT and REPLICATION_ORCHESTRATOR_MEMORY_LIMIT and always uses 1Gi, which can cause OOMs even when source/destination have large memory allocations. [Container orchestrator OOM]
This means even if your source connector pod has enough memory, the orchestrator itself may OOM and terminate the sync.
4. Reduce selected fields
If you haven't already, deselect heavy columns like raw_data, violation_description, and content_hash in the Schema tab to reduce per-row memory pressure. [Scaling Airbyte]
The knowledge sources do not provide a guaranteed fix beyond these steps, particularly given the open orchestrator memory bug. 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.kapa.ai
03/23/2026, 1:43 AMJAVA_OPTS to increase JVM heap percentage
This is the most critical fix. Without it, the JVM caps itself at ~25% of the container limit regardless of instance size:
global:
env_vars:
JOB_MAIN_CONTAINER_MEMORY_REQUEST: "32Gi"
JOB_MAIN_CONTAINER_MEMORY_LIMIT: "48Gi"
JAVA_OPTS: "-XX:+ExitOnOutOfMemoryError -XX:MaxRAMPercentage=80.0 -XX:+UseG1GC"
[Java heapspace issue]
2. Set connection-specific memory via SQL
UPDATE connection
SET resource_requirements = '{"memory_limit": "48Gi", "memory_request": "32Gi"}'
WHERE id = 'd8cfb-75bc-4fc3-8ec2-e4b0416d8f75';
[Configuring connector resources]
3. Check for the orchestrator memory bug
There is an open known issue where the container orchestrator ignores CONTAINER_ORCHESTRATOR_MEMORY_LIMIT and always uses 1Gi, causing OOMs even when source/destination pods have large allocations. [Container orchestrator OOM]
This could explain why a 64 GB instance still OOMs on a 5.2 GB stream — the orchestrator itself may be the bottleneck, not the source connector pod.
4. Reduce selected fields
Deselect heavy columns (e.g., raw_data, violation_description, content_hash) in the Schema tab to reduce per-row memory pressure. [Scaling Airbyte]
The knowledge sources do not provide a guaranteed resolution beyond these steps, particularly given the open orchestrator memory bug. 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.Aasim ali
03/23/2026, 1:50 AMJAVA_OPTS="-XX:MaxRAMPercentage=80"
can this be set on DB level @kapa.aikapa.ai
03/23/2026, 1:50 AMJAVA_OPTS (including -XX:MaxRAMPercentage=80) cannot be set at the database/connection level.
Based on the knowledge sources, the only resource-related settings that can be configured at the database level are:
• cpu_request
• cpu_limit
• memory_request
• memory_limit
These are set via SQL like:
UPDATE connection
SET resource_requirements = '{"memory_limit": "48Gi", "memory_request": "32Gi"}'
WHERE id = '<your-connection-id>';
[Configuring connector resources]
JAVA_OPTS is a JVM-level environment variable and must be set at the instance level via your `values.yaml`:
global:
env_vars:
JAVA_OPTS: "-XX:+ExitOnOutOfMemoryError -XX:MaxRAMPercentage=80.0 -XX:+UseG1GC"
[Java heapspace issue]
This applies globally to all job containers. There is no documented way in the knowledge sources to set JAVA_OPTS on a per-connection or per-connector basis. 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.Aasim ali
04/27/2026, 8:10 PMkapa.ai
04/27/2026, 8:10 PMvalues.yaml configuration for using Google Secret Manager with Airbyte 1.6 (Helm chart V1):
global:
secretsManager:
type: googleSecretManager
secretName: "airbyte-config-secrets" # Name of your Kubernetes secret
googleSecretManager:
projectId: <project-id>
credentialsSecretKey: gcp.json
[GCP secrets 1.6] Prerequisites Before applying this config, you need to create the Kubernetes secret containing your GCP service account credentials:
apiVersion: v1
kind: Secret
metadata:
name: airbyte-config-secrets
type: Opaque
stringData:
gcp.json: |
{
"type": "service_account",
"project_id": "your-project-id",
"private_key_id": "your-private-key-id",
"private_key": "-----BEGIN PRIVATE KEY-----\n<YOUR_PRIVATE_KEY>\n-----END PRIVATE KEY-----\n",
"client_email": "your-service-account@your-project-id.iam.gserviceaccount.com",
"client_id": "your-client-id",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/your-service-account%40your-project-id.iam.gserviceaccount.com"
}
[GCP k8s secret 1.6]
> ⚠️ Important: Modifying the configuration of connector secret storage will cause all existing connectors to fail. You will need to recreate those connectors to ensure they read from the new secret store. [GCP secrets 1.6] 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.