[source-clickhouse] SQLFeatureNotSupportedException: getResultSet not implemented
- Ngôn ngữ chính
- Python
- Star
- 22.1k
- Fork
- 5.3k
- Chỉ số merge pull request
- Chỉ số pull request đang chờ
Mô tả
### Connector Name
source-clickhouse
### Connector Version
0.2.3
### What step the error happened?
During the sync
### Relevant information
The Clickhouse DB source has been setup successfully. I've also tested the connection to it and it also worked well. However, whenever I have been trying to sync data between data for 4 tables in Clickhouse (the data is not large) to the blob storage in Azure, **I always encounter the error related to "getResultSet()"**. The errors look like as follows:
`"java.lang.RuntimeException: java.sql.SQLFeatureNotSupportedException: getResultSet not implemented"`
`{
"failureOrigin" : "destination",
"failureType" : "transient_error",
"internalMessage" : "io.airbyte.cdk.TransientErrorException: Input was fully read, but some streams did not receive a terminal stream status message. This likely indicates an error in the source or platform. Streams without a status message: [null.users_test, null.questions, null.options, null.users, null.browsinghistory]",
"externalMessage" : "Input was fully read, but some streams did not receive a terminal stream status message. This likely indicates an error in the source or platform. Streams without a status message: [null.users_test, null.questions, null.options, null.users, null.browsinghistory]",
"metadata" : {
"attemptNumber" : 0,
"jobId" : 3,
"from_trace_message" : true,
"connector_command" : "write"
},
"stacktrace" : "io.airbyte.cdk.TransientErrorException: Input was fully read, but some streams did not receive a terminal stream status message. This likely indicates an error in the source or platform. Streams without a status message: [null.users_test, null.questions, null.options, null.users, null.browsinghistory]\n\tat io.airbyte.cdk.load.state.SyncManager.markInputConsumed(SyncManager.kt:118)\n\tat io.airbyte.cdk.load.task.internal.DefaultInputConsumerTask.execute(InputConsumerTask.kt:298)\n\tat io.airbyte.cdk.load.task.DestinationTaskLauncher$WrappedTask.execute(DestinationTaskLauncher.kt:163)\n\tat io.airbyte.cdk.load.task.TaskScopeProvider$launch$job$1.invokeSuspend(TaskScopeProvider.kt:35)\n\tat kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)\n\tat kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)\n\tat kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:111)\n\tat kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:99)\n\tat kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)\n\tat kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:811)\n\tat kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:715)\n\tat kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:702)\n",
"timestamp" : 1749220810409
}`
### Relevant log output
```shell
2025-06-06 23:40:11 replication-orchestrator INFO failures: [ {
"failureOrigin" : "source",
"failureType" : "system_error",
"internalMessage" : "java.lang.RuntimeException: java.sql.SQLFeatureNotSupportedException: getResultSet not implemented",
"externalMessage" : "Something went wrong in the connector. See the logs for more details.",
"metadata" : {
"attemptNumber" : 0,
"jobId" : 3,
"from_trace_message" : true,
"connector_command" : "read"
},
"stacktrace" : "java.lang.RuntimeException: java.sql.SQLFeatureNotSupportedException: getResultSet not implemented\n\tat io.airbyte.cdk.db.jdbc.StreamingJdbcDatabase$1.tryAdvance(StreamingJdbcDatabase.java:112)\n\tat java.base/java.util.Spliterators$1Adapter.hasNext(Spliterators.java:681)\n\tat io.airbyte.commons.util.DefaultAutoCloseableIterator.computeNext(DefaultAutoCloseableIterator.java:42)\n\tat com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:145)\n\tat com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:140)\n\tat io.airbyte.commons.util.LazyAutoCloseableIterator.computeNext(LazyAutoCloseableIterator.java:46)\n\tat com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:145)\n\tat com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:140)\n\tat com.google.common.collect.TransformedIterator.hasNext(TransformedIterator.java:46)\n\tat io.airbyte.commons.util.DefaultAutoCloseableIterator.computeNext(DefaultAutoCloseableIterator.java:42)\n\tat com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:145)\n\tat com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:140)\n\tat io.airbyte.cdk.integrations.source.relationaldb.StateDecoratingIterator.computeNext(StateDecoratingIterator.java:127)\n\tat io.airbyte.cdk.integrations.source.relationaldb.StateDecoratingIterator.computeNext(StateDecoratingIterator.java:22)\n\tat com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:145)\n\tat com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:140)\n\tat io.airbyte.commons.util.DefaultAutoCloseableIterator.computeNext(DefaultAutoCloseableIterator.java:42)\n\tat com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:145)\n\tat com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:140)\n\tat com.google.common.collect.TransformedIterator.hasNext(TransformedIterator.java:46)\n\tat io.airbyte.commons.util.DefaultAutoCloseableIterator.computeNext(DefaultAutoCloseableIterator.java:42)\n\tat com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:145)\n\tat com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:140)\n\tat io.airbyte.commons.util.CompositeIterator.computeNext(CompositeIterator.java:74)\n\tat com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:145)\n\tat com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:140)\n\tat io.airbyte.commons.util.DefaultAutoCloseableIterator.computeNext(DefaultAutoCloseableIterator.java:42)\n\tat com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:145)\n\tat com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:140)\n\tat io.airbyte.commons.util.DefaultAutoCloseableIterator.computeNext(DefaultAutoCloseableIterator.java:42)\n\tat com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:145)\n\tat com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:140)\n\tat java.base/java.util.Iterator.forEachRemaining(Iterator.java:132)\n\tat io.airbyte.cdk.integrations.base.IntegrationRunner.produceMessages(IntegrationRunner.java:236)\n\tat io.airbyte.cdk.integrations.base.IntegrationRunner.readSerial(IntegrationRunner.java:276)\n\tat io.airbyte.cdk.integrations.base.IntegrationRunner.runInternal(IntegrationRunner.java:173)\n\tat io.airbyte.cdk.integrations.base.IntegrationRunner.run(IntegrationRunner.java:125)\n\tat io.airbyte.integrations.source.clickhouse.ClickHouseSource.main(ClickHouseSource.java:134)\n\tSuppressed: java.lang.RuntimeException: java.sql.SQLFeatureNotSupportedException: getResultSet not implemented\n\t\tat io.airbyte.cdk.db.jdbc.StreamingJdbcDatabase.lambda$unsafeQuery$0(StreamingJdbcDatabase.java:77)\n\t\tat java.base/java.util.stream.AbstractPipeline.close(AbstractPipeline.java:323)\n\t\tat io.airbyte.commons.concurrency.VoidCallable.call(VoidCallable.java:15)\n\t\tat io.airbyte.commons.util.DefaultAutoCloseableIterator.close(DefaultAutoCloseableIterator.java:53)\n\t\tat io.airbyte.commons.util.LazyAutoCloseableIterator.close(LazyAutoCloseableIterator.java:56)\n\t\tat io.airbyte.commons.concurrency.VoidCallable.call(VoidCallable.java:15)\n\t\tat io.airbyte.commons.util.DefaultAutoCloseableIterator.close(DefaultAutoCloseableIterator.java:53)\n\t\tat io.airbyte.commons.concurrency.VoidCallable.call(VoidCallable.java:15)\n\t\tat io.airbyte.commons.util.DefaultAutoCloseableIterator.close(DefaultAutoCloseableIterator.java:53)\n\t\tat io.airbyte.commons.concurrency.VoidCallable.call(VoidCallable.java:15)\n\t\tat io.airbyte.commons.util.DefaultAutoCloseableIterator.close(DefaultAutoCloseableIterator.java:53)\n\t\tat io.airbyte.commons.util.CompositeIterator.close(CompositeIterator.java:124)\n\t\tat io.airbyte.commons.util.AutoCloseableIterators.lambda$appendOnClose$0(AutoCloseableIterators.java:106)\n\t\tat io.airbyte.commons.concurrency.VoidCallable.call(VoidCallable.java:15)\n\t\tat io.airbyte.commons.util.DefaultAutoCloseableIterator.close(DefaultAutoCloseableIterator.java:53)\n\t\tat io.airbyte.commons.util.AutoCloseableIterators.lambda$appendOnClose$0(AutoCloseableIterators.java:106)\n\t\tat io.airbyte.commons.concurrency.VoidCallable.call(VoidCallable.java:15)\n\t\tat io.airbyte.commons.util.DefaultAutoCloseableIterator.close(DefaultAutoCloseableIterator.java:53)\n\t\tat io.airbyte.cdk.integrations.base.IntegrationRunner.readSerial(IntegrationRunner.java:275)\n\t\t... 3 more\n\tCaused by: java.sql.SQLFeatureNotSupportedException: getResultSet not implemented\n\t\tat com.clickhouse.jdbc.SqlExceptionUtils.unsupportedError(SqlExceptionUtils.java:138)\n\t\tat com.clickhouse.jdbc.ClickHouseArray.getResultSet(ClickHouseArray.java:74)\n\t\tat io.airbyte.cdk.db.jdbc.AbstractJdbcCompatibleSourceOperations.putArray(AbstractJdbcCompatibleSourceOperations.java:68)\n\t\tat io.airbyte.cdk.db.jdbc.JdbcSourceOperations.copyToJsonField(JdbcSourceOperations.java:63)\n\t\tat io.airbyte.cdk.db.jdbc.AbstractJdbcCompatibleSourceOperations.rowToJson(AbstractJdbcCompatibleSourceOperations.java:60)\n\t\tat io.airbyte.cdk.db.jdbc.AbstractJdbcCompatibleSourceOperations.rowToJson(AbstractJdbcCompatibleSourceOperations.java:37)\n\t\tat io.airbyte.cdk.db.jdbc.StreamingJdbcDatabase$1.tryAdvance(StreamingJdbcDatabase.java:104)\n\t\tat java.base/java.util.Spliterators$1Adapter.hasNext(Spliterators.java:681)\n\t\tat io.airbyte.commons.util.DefaultAutoCloseableIterator.computeNext(DefaultAutoCloseableIterator.java:42)\n\t\tat com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:145)\n\t\tat com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:140)\n\t\tat io.airbyte.commons.util.LazyAutoCloseableIterator.computeNext(LazyAutoCloseableIterator.java:46)\n\t\tat com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:145)\n\t\tat com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:140)\n\t\tat com.google.common.collect.TransformedIterator.hasNext(TransformedIterator.java:46)\n\t\tat io.airbyte.commons.util.DefaultAutoCloseableIterator.computeNext(DefaultAutoCloseableIterator.java:42)\n\t\tat com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:145)\n\t\tat com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:140)\n\t\tat io.airbyte.cdk.integrations.source.relationaldb.StateDecoratingIterator.computeNext(StateDecoratingIterator.java:127)\n\t\tat io.airbyte.cdk.integrations.source.relationaldb.StateDecoratingIterator.computeNext(StateDecoratingIterator.java:22)\n\t\tat com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:145)\n\t\tat com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:140)\n\t\tat io.airbyte.commons.util.DefaultAutoCloseableIterator.computeNext(DefaultAutoCloseableIterator.java:42)\n\t\tat com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:145)\n\t\tat com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:140)\n\t\tat com.google.common.collect.TransformedIterator.hasNext(TransformedIterator.java:46)\n\t\tat io.airbyte.commons.util.DefaultAutoCloseableIterator.computeNext(DefaultAutoCloseableIterator.java:42)\n\t\tat com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:145)\n\t\tat com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:140)\n\t\tat io.airbyte.commons.util.CompositeIterator.computeNext(CompositeIterator.java:74)\n\t\tat com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:145)\n\t\tat com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:140)\n\t\tat io.airbyte.commons.util.DefaultAutoCloseableIterator.computeNext(DefaultAutoCloseableIterator.java:42)\n\t\tat com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:145)\n\t\tat com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:140)\n\t\tat io.airbyte.commons.util.DefaultAutoCloseableIterator.computeNext(DefaultAutoCloseableIterator.java:42)\n\t\tat com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:145)\n\t\tat com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:140)\n\t\tat java.base/java.util.Iterator.forEachRemaining(Iterator.java:132)\n\t\tat io.airbyte.cdk.integrations.base.IntegrationRunner.produceMessages(IntegrationRunner.java:236)\n\t\tat io.airbyte.cdk.integrations.base.IntegrationRunner.readSerial(IntegrationRunner.java:276)\n\t\t... 3 more\nCaused by: [CIRCULAR REFERENCE: java.sql.SQLFeatureNotSupportedException: getResultSet not implemented]\n",
"timestamp" : 1749220804522
}, {
"failureOrigin" : "destination",
"failureType" : "transient_error",
"internalMessage" : "io.airbyte.cdk.TransientErrorException: Input was fully read, but some streams did not receive a terminal stream status message. This likely indicates an error in the source or platform. Streams without a status message: [null.users_test, null.questions, null.options, null.users, null.browsinghistory]",
"externalMessage" : "Input was fully read, but some streams did not receive a terminal stream status message. This likely indicates an error in the source or platform. Streams without a status message: [null.users_test, null.questions, null.options, null.users, null.browsinghistory]",
"metadata" : {
"attemptNumber" : 0,
"jobId" : 3,
"from_trace_message" : true,
"connector_command" : "write"
},
"stacktrace" : "io.airbyte.cdk.TransientErrorException: Input was fully read, but some streams did not receive a terminal stream status message. This likely indicates an error in the source or platform. Streams without a status message: [null.users_test, null.questions, null.options, null.users, null.browsinghistory]\n\tat io.airbyte.cdk.load.state.SyncManager.markInputConsumed(SyncManager.kt:118)\n\tat io.airbyte.cdk.load.task.internal.DefaultInputConsumerTask.execute(InputConsumerTask.kt:298)\n\tat io.airbyte.cdk.load.task.DestinationTaskLauncher$WrappedTask.execute(DestinationTaskLauncher.kt:163)\n\tat io.airbyte.cdk.load.task.TaskScopeProvider$launch$job$1.invokeSuspend(TaskScopeProvider.kt:35)\n\tat kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)\n\tat kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)\n\tat kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:111)\n\tat kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:99)\n\tat kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)\n\tat kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:811)\n\tat kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:715)\n\tat kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:702)\n",
"timestamp" : 1749220810409
}, {
"failureOrigin" : "source",
"internalMessage" : "Source process exited with non-zero exit code 1",
"externalMessage" : "Something went wrong within the source connector",
"metadata" : {
"attemptNumber" : 0,
"jobId" : 3,
"connector_command" : "read"
},
"stacktrace" : "io.airbyte.workers.internal.exception.SourceException: Source process exited with non-zero exit code 1\n\tat io.airbyte.workers.general.BufferedReplicationWorker.readFromSource(BufferedReplicationWorker.java:365)\n\tat io.airbyte.workers.general.BufferedReplicationWorker.lambda$runAsyncWithHeartbeatCheck$3(BufferedReplicationWorker.java:223)\n\tat java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)\n\tat java.base/java.lang.Thread.run(Thread.java:1583)\n",
"timestamp" : 1749220804746
}, {
"failureOrigin" : "destination",
"internalMessage" : "Destination process exited with non-zero exit code 1",
"externalMessage" : "Something went wrong within the destination connector",
"metadata" : {
"attemptNumber" : 0,
"jobId" : 3,
"connector_command" : "write"
},
"stacktrace" : "io.airbyte.workers.internal.exception.DestinationException: Destination process exited with non-zero exit code 1\n\tat io.airbyte.workers.general.BufferedReplicationWorker.readFromDestination(BufferedReplicationWorker.java:503)\n\tat io.airbyte.workers.general.BufferedReplicationWorker.lambda$runAsync$2(BufferedReplicationWorker.java:216)\n\tat java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)\n\tat java.base/java.lang.Thread.run(Thread.java:1583)\n",
"timestamp" : 1749220810859
}, {
"failureOrigin" : "replication",
"internalMessage" : "io.airbyte.workers.exception.WorkerException: Destination process exit with code 1. This warning is normal if the job was cancelled.",
"externalMessage" : "Something went wrong during replication",
"metadata" : {
"attemptNumber" : 0,
"jobId" : 3
},
"stacktrace" : "java.lang.RuntimeException: io.airbyte.workers.exception.WorkerException: Destination process exit with code 1. This warning is normal if the job was cancelled.\n\tat io.airbyte.workers.general.BufferedReplicationWorker$CloseableWithTimeout.lambda$close$0(BufferedReplicationWorker.java:548)\n\tat io.airbyte.workers.general.BufferedReplicationWorker.lambda$runAsyncWithTimeout$5(BufferedReplicationWorker.java:244)\n\tat java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)\n\tat java.base/java.lang.Thread.run(Thread.java:1583)\nCaused by: io.airbyte.workers.exception.WorkerException: Destination process exit with code 1. This warning is normal if the job was cancelled.\n\tat io.airbyte.workers.internal.LocalContainerAirbyteDestination.close(LocalContainerAirbyteDestination.kt:61)\n\tat io.airbyte.workers.general.BufferedReplicationWorker$CloseableWithTimeout.lambda$close$0(BufferedReplicationWorker.java:546)\n\t... 5 more\n",
"timestamp" : 1749220810905
} ]
2025-06-06 23:40:11 replication-orchestrator INFO
2025-06-06 23:40:11 replication-orchestrator INFO ----- END REPLICATION -----
2025-06-06 23:40:11 replication-orchestrator INFO
2025-06-06 23:40:12 replication-orchestrator INFO Returning output...
2025-06-06 23:40:12 platform INFO Closing Segment analytics client...
2025-06-06 23:40:12 platform INFO Waiting for Segment analytic client to flush enqueued messages...
2025-06-06 23:40:12 platform INFO Segment analytic client flush complete.
2025-06-06 23:40:12 platform INFO Segment analytics client closed. No new events will be accepted.
2025-06-06 23:40:12 platform INFO
----- START POST REPLICATION OPERATIONS -----
2025-06-06 23:40:12 platform INFO No post-replication operation(s) to perform.
2025-06-06 23:40:12 platform INFO
----- END POST REPLICATION OPERATIONS -----
```
### Contribute
- [ ] Yes, I want to contribute
Hướng dẫn đóng góp
Đánh giá
Issue này chưa được đánh giá.