Altan Sener
03/31/2026, 8:32 PMkapa.ai
03/31/2026, 8:32 PMBigQueryException: java.lang.InterruptedException occurs during the setup phase when the connector calls bigquery.getTable() inside a Kotlin coroutine. When the coroutine is cancelled (e.g., due to a timeout or upstream failure), the BigQuery SDK wraps the InterruptedException in a BigQueryException, which gets treated as a hard failure instead of a graceful cancellation. [BigQuery InterruptedException fix]
This has been reported approximately 15 times in the last 30 days and a fix has been developed. [BigQuery InterruptedException fix]
What the fix does:
A bigQueryCall() suspend helper is introduced that:
1. Runs blocking BigQuery SDK calls on Dispatchers.IO
2. Catches BigQueryException whose cause is InterruptedException → converts to CancellationException
3. Catches direct InterruptedException → converts to CancellationException
4. Restores the thread interrupt flag via Thread.currentThread().interrupt() before rethrowing
The BigqueryDirectLoadDatabaseInitialStatusGatherer class (which is exactly where your stack trace originates) is updated to use this helper. [BigQuery InterruptedException fix]
What you can do now:
• Retry the sync — this is a transient error. The error message in the fix describes it as "a transient error caused by the sync being cancelled due to a timeout or upstream failure", meaning it typically resolves on retry. [BigQuery InterruptedException fix]
• Upgrade the destination-bigquery connector once the fix (PR #75912) is released, as it will handle this gracefully instead of treating it as a hard failure. 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.