<@U04S8PLJWMT> ```2026-04-08 22:56:08 destination ...
# replication-ask-ai
q
@kapa.ai
Copy code
2026-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)
k
This error is a known behavior of the Bulk Load CDK v3: the destination has fully read the input, but at least one stream (
routing_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.