Quang Nguyen
02/20/2026, 4:23 PM2026-02-16 01:24:08 destination ERROR DefaultDispatcher-worker-2 i.a.c.l.t.DestinationTaskLauncher$WrappedTask(execute):129 Caught exception in task io.airbyte.cdk.load.task.internal.InputConsumerTask@1a7c5a07 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_route]
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_route]
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)
airbyte/destination-bigquery: 3.0.16
airbyte/source-mongodb-v2: 2.0.7kapa.ai
02/20/2026, 4:24 PMSTREAM_STATUS message for every stream, but at least one stream (routing_route in your case) never receives it, so the sync is marked as failed even though all input was read. [Streams without status; HubSpot auth failure]
From the knowledge sources:
• The exact error text and stack trace pattern are identical to other reports where the destination throws io.airbyte.cdk.TransientErrorException: Input was fully read, but some streams did not receive a terminal stream status message. [Streams without status; ClickHouse issue]
• One open P1 issue confirms that some sources (notably source-declarative-manifest) currently do not emit the required terminal STREAM_STATUS messages, which breaks syncs with CDK v3 destinations like destination-bigquery:3.0.16. [Streams without status]
• That issue explicitly notes there is no configuration-level workaround and that the problem is in the source/platform side, not the destination. [Streams without status]
However, the knowledge sources only discuss this in detail for:
• source-declarative-manifest with destination-bigquery:3.0.16
• Some other sources (HubSpot, ClickHouse) showing the same error pattern
They do not explicitly mention source-mongodb-v2:2.0.7, so I cannot definitively say this specific source is affected by the same implementation bug. The pattern strongly suggests that for the routing_route stream, the source or platform is failing to emit a terminal stream status message, but the docs do not confirm this for MongoDB v2.
Given what we have:
• Your destination version (destination-bigquery:3.0.16) is one of the CDK v3 destinations that requires terminal STREAM_STATUS messages. [Streams without status]
• The error is exactly the one raised when at least one stream is missing that terminal status.
• There is an open P1 internal/oncall issue tracking missing stream status messages for some sources, but the knowledge sources don’t list MongoDB v2 among them. [Streams without status]
Because the knowledge sources don’t provide a confirmed fix or workaround for source-mongodb-v2 specifically, the best you can do based on this information is:
1. Treat this as a likely “missing terminal stream status” bug on the source/platform side for the routing_route stream, not a BigQuery configuration issue. [Streams without status]
2. Open or update a GitHub issue against Airbyte referencing:
◦ Your source/destination versions
◦ The exact error and stream name (routing_route)
◦ The related open issue about missing stream status messages [Streams without status]
3. If you are on Airbyte Cloud, contact support and reference that open issue and your log snippet so they can confirm whether MongoDB v2 is affected by the same underlying problem.
The knowledge sources do not describe any reliable user-side workaround (such as a config flag or YAML option) to force emission of stream status messages; in the declarative-manifest case it is explicitly stated that no such option exists. [Streams without status] 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.