Ask Your Question
0

JDBC Consumer for Solr gives error: java.lang.UnsupportedOperationException

asked 2020-02-10 23:26:20 -0600

SoftDesire gravatar image

updated 2020-02-11 13:36:11 -0600

metadaddy gravatar image

Hi all I'm new to StreamSets and trying to use JDBC Consumer for Solr index, after the driver configuration upon validation i'm getting below error, any idea why it happens? I've tried to search google but could not find anything related to it.

java.lang.UnsupportedOperationException
    at org.apache.solr.client.solrj.io.sql.ResultSetImpl.findColumn(ResultSetImpl.java:453)
    at com.zaxxer.hikari.pool.HikariProxyResultSet.findColumn(HikariProxyResultSet.java)
    at com.streamsets.pipeline.stage.origin.jdbc.JdbcSource.validateResultSetMetadata(JdbcSource.java:313)
    at com.streamsets.pipeline.stage.origin.jdbc.JdbcSource.executeValidationQuery(JdbcSource.java:284)
    at com.streamsets.pipeline.stage.origin.jdbc.JdbcSource.init(JdbcSource.java:230)
    at com.streamsets.pipeline.api.base.BaseStage.init(BaseStage.java:48)
    at com.streamsets.pipeline.api.base.configurablestage.DStage.init(DStage.java:36)
    at com.streamsets.datacollector.runner.StageRuntime.lambda$init$0(StageRuntime.java:220)
    at com.streamsets.datacollector.util.LambdaUtil.withClassLoaderInternal(LambdaUtil.java:148)
    at com.streamsets.datacollector.util.LambdaUtil.withClassLoader(LambdaUtil.java:44)
    at com.streamsets.datacollector.runner.StageRuntime.init(StageRuntime.java:218)
    at com.streamsets.datacollector.runner.StagePipe.init(StagePipe.java:107)
    at com.streamsets.datacollector.runner.StagePipe.init(StagePipe.java:44)
    at com.streamsets.datacollector.runner.Pipeline.initPipe(Pipeline.java:392)
    at com.streamsets.datacollector.runner.Pipeline.init(Pipeline.java:297)
    at com.streamsets.datacollector.runner.Pipeline.validateConfigs(Pipeline.java:204)
    at com.streamsets.datacollector.runner.preview.PreviewPipeline.validateConfigs(PreviewPipeline.java:60)
    at com.streamsets.datacollector.execution.preview.sync.SyncPreviewer.validateConfigs(SyncPreviewer.java:159)
    at com.streamsets.datacollector.execution.preview.async.AsyncPreviewer.lambda$validateConfigs$0(AsyncPreviewer.java:74)
    at com.streamsets.pipeline.lib.executor.SafeScheduledExecutorService$SafeCallable.lambda$call$0(SafeScheduledExecutorService.java:226)
    at com.streamsets.datacollector.security.GroupsInScope.execute(GroupsInScope.java:33)
    at com.streamsets.pipeline.lib.executor.SafeScheduledExecutorService$SafeCallable.call(SafeScheduledExecutorService.java:222)
    at com.streamsets.pipeline.lib.executor.SafeScheduledExecutorService$SafeCallable.lambda$call$0(SafeScheduledExecutorService.java:226)
    at com.streamsets.datacollector.security.GroupsInScope.execute(GroupsInScope.java:33)
    at com.streamsets.pipeline.lib.executor.SafeScheduledExecutorService$SafeCallable.call(SafeScheduledExecutorService.java:222)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
    at com.streamsets.datacollector.metrics.MetricSafeScheduledExecutorService$MetricsTask.run(MetricSafeScheduledExecutorService.java:100)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

Regards

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2020-02-11 13:39:11 -0600

metadaddy gravatar image

It looks like the Solr JDBC driver does not fully implement the JDBC specification. StreamSets Data Collector is trying to find the column you specified as the offset, but the Solr driver does not implement findColumn().

edit flag offensive delete link more

Comments

Dear metadaddy, Thanks for the answer. In order to test the driver, I've configured the same driver with Squirrel and it is working fine.

SoftDesire gravatar imageSoftDesire ( 2020-02-11 23:01:39 -0600 )edit

I guess Squirrel doesn't use the same JDBC calls as Data Collector.

metadaddy gravatar imagemetadaddy ( 2020-02-12 10:38:58 -0600 )edit
Login/Signup to Answer

Question Tools

1 follower

Stats

Asked: 2020-02-10 23:26:20 -0600

Seen: 15 times

Last updated: Feb 11