JDBC Lookup giving linkage error

asked 2020-07-13 15:27:16 -0500

yg gravatar image

updated 2020-07-13 15:53:25 -0500

I am trying to use JDBC lookup processor to enrich input data but i am getting the com.google.common.util.concurrent.ExecutionError: java.lang.LinkageError: com/codahale/metrics/Timer error. Please find below the logs. Can someone please help with the issue.

Thanks in Advance.

JDBC Configuration details:

image description

Logs:

com.google.common.util.concurrent.ExecutionError: java.lang.LinkageError: com/codahale/metrics/Timer at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2201) at com.google.common.cache.LocalCache.get(LocalCache.java:3937) at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3941) at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4824) at com.streamsets.pipeline.stage.processor.kv.OptionalLoadingCache.get(OptionalLoadingCache.java:66) at com.streamsets.pipeline.stage.processor.kv.OptionalLoadingCache.get(OptionalLoadingCache.java:34) at com.streamsets.pipeline.stage.processor.jdbclookup.JdbcLookupProcessor.process(JdbcLookupProcessor.java:338) at com.streamsets.pipeline.api.base.SingleLaneRecordProcessor.process(SingleLaneRecordProcessor.java:53) at com.streamsets.pipeline.stage.processor.jdbclookup.JdbcLookupProcessor.process(JdbcLookupProcessor.java:328) at com.streamsets.pipeline.api.base.SingleLaneProcessor.process(SingleLaneProcessor.java:95) at com.streamsets.pipeline.api.base.configurablestage.DProcessor.process(DProcessor.java:35) at com.streamsets.datacollector.runner.StageRuntime.lambda$execute$2(StageRuntime.java:299) at com.streamsets.datacollector.runner.StageRuntime.execute(StageRuntime.java:244) at com.streamsets.datacollector.runner.StageRuntime.execute(StageRuntime.java:311) at com.streamsets.datacollector.runner.StagePipe.process(StagePipe.java:220) at com.streamsets.datacollector.runner.preview.PreviewPipelineRunner.lambda$runSourceLessBatch$0(PreviewPipelineRunner.java:353) at com.streamsets.datacollector.runner.PipeRunner.acceptConsumer(PipeRunner.java:221) at com.streamsets.datacollector.runner.PipeRunner.executeBatch(PipeRunner.java:142) at com.streamsets.datacollector.runner.preview.PreviewPipelineRunner.runSourceLessBatch(PreviewPipelineRunner.java:349) at com.streamsets.datacollector.runner.preview.PreviewPipelineRunner.processBatch(PreviewPipelineRunner.java:274) at com.streamsets.datacollector.runner.StageRuntime$3.run(StageRuntime.java:383) at java.security.AccessController.doPrivileged(Native Method) at com.streamsets.datacollector.runner.StageRuntime.processBatch(StageRuntime.java:379) at com.streamsets.datacollector.runner.StageContext.processBatch(StageContext.java:289) at com.streamsets.pipeline.lib.dirspooler.SpoolDirRunnable.produce(SpoolDirRunnable.java:308) at com.streamsets.pipeline.lib.dirspooler.SpoolDirRunnable.run(SpoolDirRunnable.java:145) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 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$SafeRunnable.run(SafeScheduledExecutorService.java:188) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 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$SafeRunnable.run(SafeScheduledExecutorService.java:188) at java ... (more)

edit retag flag offensive close merge delete

Comments

Which version of SDC are you running? Can you also update your question and provide the JDBC Lookup processor config details?

iamontheinet gravatar imageiamontheinet ( 2020-07-13 15:41:07 -0500 )edit

i am using StreamSets Data Collector 3.10.0 .

yg gravatar imageyg ( 2020-07-13 15:43:29 -0500 )edit

I checked the same and i found https://issues.streamsets.com/browse/SDC-6449 that it is related to having metrics-core*.jar in the classpath but i am not sure on class path for jdbc lookup processor. is there a way to determine correct path?

yg gravatar imageyg ( 2020-07-17 11:27:25 -0500 )edit