Quang Nguyen
04/08/2026, 4:26 PM2026-04-08 22:56:08 destination ERROR DefaultDispatcher-worker-1 i.a.c.l.t.DestinationTaskLauncher$WrappedTask(execute):129 Caught exception in task io.airbyte.cdk.load.task.internal.InputConsumerTask@537dc0c4 io.airbyte.cdk.TransientErrorException: Input was fully read, but some streams did not receive a terminal stream status message. If the destination did not encounter other errors, this likely indicates an error in the source or platform. Streams without a status message: [routing_problem]
at io.airbyte.cdk.load.state.SyncManager.markInputConsumed(SyncManager.kt:116) ~[bulk-cdk-core-load-0.1.74.jar:?]
at io.airbyte.cdk.load.state.PipelineEventBookkeepingRouter.close(PipelineEventBookkeepingRouter.kt:300) ~[bulk-cdk-core-load-0.1.74.jar:?]
at io.airbyte.cdk.load.task.internal.InputConsumerTask.execute(InputConsumerTask.kt:117) ~[bulk-cdk-core-load-0.1.74.jar:?]
at io.airbyte.cdk.load.task.internal.InputConsumerTask$execute$1.invokeSuspend(InputConsumerTask.kt) ~[bulk-cdk-core-load-0.1.74.jar:?]
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) [kotlin-stdlib-2.1.10.jar:2.1.10-release-473]
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100) [kotlinx-coroutines-core-jvm-1.10.2.jar:?]
at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:124) [kotlinx-coroutines-core-jvm-1.10.2.jar:?]
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:89) [kotlinx-coroutines-core-jvm-1.10.2.jar:?]
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:586) [kotlinx-coroutines-core-jvm-1.10.2.jar:?]
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:820) [kotlinx-coroutines-core-jvm-1.10.2.jar:?]
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:717) [kotlinx-coroutines-core-jvm-1.10.2.jar:?]
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:704) [kotlinx-coroutines-core-jvm-1.10.2.jar:?]
Stack Trace: io.airbyte.cdk.TransientErrorException: Input was fully read, but some streams did not receive a terminal stream status message. If the destination did not encounter other errors, this likely indicates an error in the source or platform. Streams without a status message: [routing_problem]
at io.airbyte.cdk.load.state.SyncManager.markInputConsumed(SyncManager.kt:116)
at io.airbyte.cdk.load.state.PipelineEventBookkeepingRouter.close(PipelineEventBookkeepingRouter.kt:300)
at io.airbyte.cdk.load.task.internal.InputConsumerTask.execute(InputConsumerTask.kt:117)
at io.airbyte.cdk.load.task.internal.InputConsumerTask$execute$1.invokeSuspend(InputConsumerTask.kt)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:124)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:89)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:586)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:820)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:717)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:704)kapa.ai
04/08/2026, 4:27 PMrouting_problem in your case) never received a terminal stream status message (STREAM_STATUS with COMPLETE). When that happens, SyncManager.markInputConsumed() throws TransientErrorException with exactly the message you’re seeing. [Streams status bug; BigQuery large stream]
From the issues in the knowledge base, there are two main root causes that have been identified:
1. Source does not emit terminal stream status messages
This is explicitly confirmed for source-declarative-manifest, which currently does not emit STREAM_STATUS messages required by CDK v3 destinations (BigQuery 3.x, Snowflake 3.x, etc.), causing the same error. [Streams status bug]
2. SOCKET-mode destinations + missing terminal status
For large or long-running streams, the source or platform may fail to send/forward the terminal status over the socket, even though the destination successfully loads data (seen with destination-bigquery and MSSQL source). [BigQuery large stream]
A CDK-level fix has been proposed/implemented in PR “fix(bulk-cdk): mark all streams end-of-stream in SOCKET mode to prevent TransientErrorException”, which changes PipelineEventBookkeepingRouter.close() so that all streams are marked end-of-stream (with a flag indicating whether a COMPLETE was seen) instead of throwing TransientErrorException when some streams never got a terminal status. [Bulk CDK fix PR]
Given the knowledge sources, here’s what you can do:
1. Identify your source & destination types/versions
◦ If you are using source-declarative-manifest with a CDK v3 destination (e.g., destination-bigquery:3.x), you are likely hitting the same bug as in issue #72367. [Streams status bug]
◦ If you are using a JDBC source (e.g., MSSQL, ClickHouse) with a CDK v3 destination, you may be hitting the same SOCKET-mode behavior as in #74802 / #61419. [BigQuery large stream; ClickHouse issue]
1. Check if your Airbyte / Bulk CDK version includes the fix
◦ Your stack trace shows bulk-cdk-core-load-0.1.74.jar.
◦ The PR references a newer bulk-cdk-core-load version (1.0.7) where the behavior is changed. [Bulk CDK fix PR]
◦ The knowledge sources do not state exactly which Airbyte release includes this fix, so I cannot say for sure whether upgrading will resolve it in your environment.
1. Practical next steps based on the docs/issues
◦ If you control connector/platform versions (OSS / self-hosted):
▪︎ Upgrade to an Airbyte version that includes the updated Bulk CDK (bulk-cdk-core-load ≥ 1.0.7) once it’s released, so that missing terminal statuses no longer cause this hard TransientErrorException. [Bulk CDK fix PR]
◦ If you are using `source-declarative-manifest`:
▪︎ Be aware this is a known open bug; there is no YAML-level workaround to force stream status emission. [Streams status bug]
▪︎ The only documented resolution path is a connector/platform fix; consider opening an issue or support ticket referencing #72367 and the error message.
◦ If you are using another source (e.g., MSSQL, ClickHouse, HubSpot):
▪︎ The same pattern has been seen and tracked as a platform/CDK issue, not a simple configuration problem. [BigQuery large stream; HubSpot auth issue]
Because the knowledge sources don’t include your exact connector names/versions or confirm which Airbyte release you’re on, I can’t give a connector-specific fix. But your error matches the known “streams without a status message” problem in the Bulk CDK; the documented resolution is to adopt the updated Bulk CDK behavior (or, for declarative sources, wait for/track the fix that adds STREAM_STATUS emission). 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.