Georgios Zefkilis
06/03/2026, 12:38 PMkapa.ai
06/03/2026, 12:39 PMRequest Time Range — The Events stream (Export API) can time out or hit a 4GB export limit for large date ranges. Lowering this value (default: 24 hours) breaks requests into smaller chunks and avoids timeouts. [Amplitude Source Docs]
2. Use Incremental Sync — Make sure your streams are configured for incremental sync where supported, so you're not re-syncing all historical data on every run.
3. Known issue with rate limiting (v0.7.29) — If you're on connector version 0.7.29, there was a known bug where added rate limiting caused HeartbeatTimeout failures on the events stream (emitting state messages but almost no records, stalling for 24+ hours). This was fixed in v0.7.30 by reverting the overly restrictive rate limiting. Make sure you're on the latest connector version. [GitHub PR #75123]
4. EU Data Region — If your Amplitude project is in the EU, make sure to select the EU Residency Server data region in the connector config to avoid unnecessary latency. [Amplitude Source Docs]
BigQuery Destination Performance For large syncs to BigQuery, consider:
• Aligning your cursor fields with BigQuery table partitioning/clustering for optimal query performance
• Using per-stream state (Airbyte tracks this automatically) so each stream resumes independently if a sync fails
Running on Kubernetes The Amplitude connector does support Kubernetes (AIRBYTE_ENTRYPOINT support was added in v0.1.0). If you're self-hosting on K8s and struggling, it may be worth checking your pod resource limits, as large event exports can be memory/CPU intensive.
Would you like more detail on any specific part of the setup? 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.Georgios Zefkilis
06/03/2026, 12:40 PMkapa.ai
06/03/2026, 12:40 PMBigQueryBulkLoader uses only 2 compression workers (numPartWorkers = 2) by default, which can bottleneck throughput on systems with many CPU cores since GZIP compression is CPU-intensive. [GitHub Issue]
When Standard Inserts May Be Preferable • For smaller syncs, standard inserts work fine and avoid the added complexity of GCS bucket setup and permissions.
• GCS staging requires the service account to have list, read, and write permissions on the bucket — misconfigured permissions are a common source of failures. [Forum Post]
Known Issues with GCS Staging • If your GCS staging bucket is missing or inaccessible, versions prior to 3.0.20 would return a generic system error rather than a clear config error. This was fixed in destination-bigquery v3.0.20. [GitHub PR]
• CSV files containing ASCII null characters could fail to load via GCS staging — fixed in destination-bigquery v3.0.5. [GitHub Issue]
Summary For your Kubernetes setup with Amplitude → BigQuery, GCS staging is likely the better choice given the potentially large event volumes. 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help., with interactive elementsGeorgios Zefkilis
06/03/2026, 12:42 PMkapa.ai
06/03/2026, 12:42 PMglobal:
jobs:
resources:
limits:
cpu: 250m
memory: 2Gi # increase as needed
requests:
cpu: 75m
memory: 500m
[Enterprise Scaling Guide]
Additional Recommendations • Use Incremental sync after the backfill completes — don't re-process 600M records on every run
• Use GCS Staging on the BigQuery destination for large volumes (as discussed previously)
• Monitor pod memory with kubectl describe pod to confirm whether it's an OOM kill (exit code 137) vs. a timeout
Important Note The knowledge sources do not contain specific benchmarks for Amplitude at 600M records, so the exact memory requirement is uncertain. You may need to iteratively increase memory and decrease the time range until the sync stabilizes. Starting with a very short time range (e.g., 1–2 hours) to validate the pipeline works before expanding is a safe approach. 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.Georgios Zefkilis
06/03/2026, 12:46 PMkapa.ai
06/03/2026, 12:47 PMuseConnectorResourceDefaults: false. [GitHub Issue]
How to Verify Your Settings Are Actually Applied Check the job logs in the Airbyte UI — when a sync starts, it logs the actual resource requirements being used:
platform > [source] image: airbyte/source-amplitude:x.x.x resources:
ResourceRequirements(limits={memory=8Gi, cpu=2}, requests={memory=6Gi, cpu=1} ...)
If you see different values than what you configured, your settings are being overridden. [Debugging Connector Resources]
Workaround If Settings Are Ignored Set resources directly at the connection level via SQL:
UPDATE connection
SET resource_requirements = '{
"cpu_request": "1",
"cpu_limit": "2",
"memory_request": "6Gi",
"memory_limit": "8Gi"
}'
WHERE id = '<your-connection-id>';
[GitHub Issue]
Also Set Job-Type Specific Variables A separate known issue is that JOB_MAIN_* variables only apply to sync jobs — check, discover, and spec jobs fall back to cluster LimitRange defaults. Make sure you also set these in `global.env_vars`:
global:
env_vars:
JOB_MAIN_CONTAINER_MEMORY_REQUEST: 6Gi
JOB_MAIN_CONTAINER_MEMORY_LIMIT: 8Gi
CHECK_JOB_MAIN_CONTAINER_MEMORY_REQUEST: 2Gi
CHECK_JOB_MAIN_CONTAINER_MEMORY_LIMIT: 4Gi
DISCOVER_JOB_MAIN_CONTAINER_MEMORY_REQUEST: 2Gi
DISCOVER_JOB_MAIN_CONTAINER_MEMORY_LIMIT: 4Gi
[GitHub Issue]
Bottom Line 1. Verify the settings are actually being applied via job logs
2. If not, use the SQL workaround at the connection level
3. Don't forget to also reduce the Amplitude Request Time Range — this is likely as important as memory tuning for a 600M record backfill 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.Georgios Zefkilis
06/03/2026, 12:48 PMkapa.ai
06/03/2026, 12:48 PMkubectl describe pod <pod-name> on the dying pod and check:
• Exit code 137 = OOM kill → memory issue
• Exit code 1 or connection reset → likely API timeout
This tells you whether to focus on memory or time range tuning. [GitHub Issue]
3. GCS Staging on BigQuery Destination If not already enabled, switch to GCS staging. It offloads data more efficiently for large volumes rather than holding more in memory on the destination side. [Forum Post]
4. Orchestrator Memory May Still Be a Bottleneck Even if your main container has 8Gi, the orchestrator container is a separate container in the same pod and has a known bug where it always defaults to 1Gi regardless of configuration. This can cause OOM on the orchestrator side even when your source/destination containers are fine. [GitHub Issue]
Unfortunately, the knowledge sources indicate there is currently no reliable way to override orchestrator memory — it is an open bug being tracked by the Airbyte engineering team.
Summary of What to Try I'm sorry I can't give a more definitive answer — the knowledge sources don't contain specific guidance beyond these options for Amplitude backfills at this scale. 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help., with interactive elementsGeorgios Zefkilis
06/03/2026, 12:50 PMkapa.ai
06/03/2026, 12:50 PMUPDATE connection
SET resource_requirements = '{
"cpu_request": "1",
"cpu_limit": "2",
"memory_request": "8Gi",
"memory_limit": "16Gi"
}'
WHERE id = '<your-connection-id>';
[GitHub Issue]
3. Check your Amplitude connector version — make sure you're on the latest version, as older versions (e.g. 0.7.29) had bugs causing stalled syncs and excessive resource usage [GitHub PR]
Honest Limitation The knowledge sources do not contain specific guidance on tuning the Amplitude source connector's internal memory behavior beyond these options. If reducing the time range to 1 hour and increasing memory still doesn't help, this may require opening a GitHub issue with Airbyte directly, as it could indicate a memory leak or inefficiency in the connector itself — similar to what was reported for other connectors. [GitHub Issue] 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.Georgios Zefkilis
06/03/2026, 12:52 PMkapa.ai
06/03/2026, 12:52 PMJOB_MAIN_* env vars is less critical for your current issue. However, they are still useful to set for check, discover, and spec jobs which fall back to cluster LimitRange defaults if not set. [GitHub Issue]
For your immediate backfill problem though, this won't make a difference.
GCS Staging Since your failure is on the source pod (not the destination), switching to GCS staging will not help with the current OOM issue. GCS staging only affects how data is loaded into BigQuery on the destination side. [Forum Post]
What Will Actually Help Right Now Focus on these two things:
1. Reduce the Amplitude time range to 1 hour or less — this is your most direct lever
2. Increase source pod memory beyond 8Gi via the connection-level SQL workaround if your cluster can accommodate it
GCS staging is still a good practice for large BigQuery loads in general, but it won't solve your current source pod OOM problem. 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.Georgios Zefkilis
06/03/2026, 12:54 PMkapa.ai
06/03/2026, 12:54 PM500, reason internalError, error 7285646) has been seen by other Airbyte users doing large syncs to BigQuery. [GitHub Issue]
What It Means • BigQuery's resumable upload API is failing intermittently on Google's side
• It is not related to your Amplitude source pod OOM issue — this is a separate destination-side problem
• It typically resolves on retry
What You Can Do 1. Let Airbyte retry — the BigQuery destination connector has built-in retry logic with backoff for transient errors. If it's truly transient, the sync should recover automatically
2. Switch to GCS Staging — this is actually a good reason to reconsider GCS staging. By staging data in GCS first before loading into BigQuery, you reduce the risk of long-running resumable uploads failing mid-way. [Forum Post]
3. Monitor frequency — if this error occurs on every sync rather than occasionally, it may indicate a deeper issue with your BigQuery project quota or Google Cloud infrastructure, in which case contacting Google Cloud support with the error code 7285646 is the right path
Revised Recommendation Given you're now seeing both source OOM issues and destination 500 errors, enabling GCS staging is now more justified — it won't fix the source OOM, but it will make the destination side more resilient for your large backfill. 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.Padraig Alton
06/08/2026, 8:39 AMGeorgios Zefkilis
06/08/2026, 8:44 AMPadraig Alton
06/08/2026, 2:02 PMGeorgios Zefkilis
06/08/2026, 2:04 PM