I think you have incompatible library versions in your dependencies. Would
you share your dependency graph?

On Tue, Oct 29, 2024 at 8:05 PM Zack Culberson <
zack.culber...@albertsons.com> wrote:

> Hi team,
>
> I am currently seeing an error on some workers within our QA environment
> that. The error I get is:
> org.apache.beam.sdk.util.UserCodeException: java.lang.AbstractMethodError:
> Method
> org/apache/beam/fn/harness/control/ExecutionStateSampler$MetricsContainerForTracker.getStringSet(Lorg/apache/beam/sdk/metrics/MetricName;)Lorg/apache/beam/sdk/metrics/StringSet;
> is abstract
>
>                at
> org.apache.beam.sdk.util.UserCodeException.wrap(UserCodeException.java:39)
>
>                at
> org.apache.beam.sdk.io.kafka.KafkaWriter$DoFnInvoker.invokeProcessElement(Unknown
> Source)
>
>                at
> org.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:803)
>
>                at
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:348)
>
>                at
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:275)
>
>                at
> org.apache.beam.fn.harness.FnApiDoFnRunner.outputTo(FnApiDoFnRunner.java:1792)
>
>                at
> org.apache.beam.fn.harness.FnApiDoFnRunner.access$3000(FnApiDoFnRunner.java:143)
>
>                at
> org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.output(FnApiDoFnRunner.java:2650)
>
>                at
> org.apache.beam.sdk.transforms.MapElements$2.processElement(MapElements.java:151)
>
>                at
> org.apache.beam.sdk.transforms.MapElements$2$DoFnInvoker.invokeProcessElement(Unknown
> Source)
>
>                at
> org.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:803)
>
>                at
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:348)
>
>                at
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:275)
>
>                at
> org.apache.beam.fn.harness.FnApiDoFnRunner.outputTo(FnApiDoFnRunner.java:1792)
>
>                at
> org.apache.beam.fn.harness.FnApiDoFnRunner.access$3000(FnApiDoFnRunner.java:143)
>
>                at
> org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.output(FnApiDoFnRunner.java:2650)
>
>                at
> org.apache.beam.sdk.transforms.MapElements$2.processElement(MapElements.java:151)
>
>                at
> org.apache.beam.sdk.transforms.MapElements$2$DoFnInvoker.invokeProcessElement(Unknown
> Source)
>
>                at
> org.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:803)
>
>                at
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:348)
>
>                at
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:275)
>
>                at
> org.apache.beam.fn.harness.FnApiDoFnRunner.outputTo(FnApiDoFnRunner.java:1792)
>
>                at
> org.apache.beam.fn.harness.FnApiDoFnRunner.access$3000(FnApiDoFnRunner.java:143)
>
>                at
> org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.output(FnApiDoFnRunner.java:2650)
>
>                at
> org.albertsons.audi.IBMMQToKafka$TokenizeAndReplaceDoFn_xml.processElement(IBMMQToKafka.java:593)
>
>                at
> org.albertsons.audi.IBMMQToKafka$TokenizeAndReplaceDoFn_xml$DoFnInvoker.invokeProcessElement(Unknown
> Source)
>
>                at
> org.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:803)
>
>                at
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:348)
>
>                at
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:275)
>
>                at
> org.apache.beam.fn.harness.FnApiDoFnRunner.outputTo(FnApiDoFnRunner.java:1792)
>
>                at
> org.apache.beam.fn.harness.FnApiDoFnRunner.access$3000(FnApiDoFnRunner.java:143)
>
>                at
> org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.output(FnApiDoFnRunner.java:2650)
>
>                at
> org.apache.beam.sdk.values.ValueWithRecordId$StripIdsDoFn.processElement(ValueWithRecordId.java:139)
>
>                at
> org.apache.beam.sdk.values.ValueWithRecordId$StripIdsDoFn$DoFnInvoker.invokeProcessElement(Unknown
> Source)
>
>                at
> org.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:803)
>
>                at
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:348)
>
>                at
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:275)
>
>                at
> org.apache.beam.fn.harness.FnApiDoFnRunner.outputTo(FnApiDoFnRunner.java:1792)
>
>                at
> org.apache.beam.fn.harness.FnApiDoFnRunner.access$3000(FnApiDoFnRunner.java:143)
>
>                at
> org.apache.beam.fn.harness.FnApiDoFnRunner$WindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2219)
>
>                at
> org.apache.beam.sdk.io.Read$UnboundedSourceAsSDFWrapperFn.processElement(Read.java:580)
>
>                at
> org.apache.beam.sdk.io.Read$UnboundedSourceAsSDFWrapperFn$DoFnInvoker.invokeProcessElement(Unknown
> Source)
>
>                at
> org.apache.beam.fn.harness.FnApiDoFnRunner.processElementForWindowObservingSizedElementAndRestriction(FnApiDoFnRunner.java:1100)
>
>                at
> org.apache.beam.fn.harness.FnApiDoFnRunner.access$1500(FnApiDoFnRunner.java:143)
>
>                at
> org.apache.beam.fn.harness.FnApiDoFnRunner$4.accept(FnApiDoFnRunner.java:659)
>
>                at
> org.apache.beam.fn.harness.FnApiDoFnRunner$4.accept(FnApiDoFnRunner.java:654)
>
>                at
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:348)
>
>                at
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:275)
>
>                at
> org.apache.beam.fn.harness.BeamFnDataReadRunner.forwardElementToConsumer(BeamFnDataReadRunner.java:213)
>
>                at
> org.apache.beam.sdk.fn.data.BeamFnDataInboundObserver.multiplexElements(BeamFnDataInboundObserver.java:172)
>
>                at
> org.apache.beam.fn.harness.control.ProcessBundleHandler.processBundle(ProcessBundleHandler.java:537)
>
>                at
> org.apache.beam.fn.harness.control.BeamFnControlClient.delegateOnInstructionRequestType(BeamFnControlClient.java:150)
>
>                at
> org.apache.beam.fn.harness.control.BeamFnControlClient$InboundObserver.lambda$onNext$0(BeamFnControlClient.java:115)
>
>                at
> java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
>
>                at
> java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
>
>                at
> org.apache.beam.sdk.util.UnboundedScheduledExecutorService$ScheduledFutureTask.run(UnboundedScheduledExecutorService.java:163)
>
>                at
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
>
>                at
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>
>                at java.base/java.lang.Thread.run(Thread.java:829)
>
> Caused by: java.lang.AbstractMethodError: Method
> org/apache/beam/fn/harness/control/ExecutionStateSampler$MetricsContainerForTracker.getStringSet(Lorg/apache/beam/sdk/metrics/MetricName;)Lorg/apache/beam/sdk/metrics/StringSet;
> is abstract
>
>                at
> org.apache.beam.fn.harness.control.ExecutionStateSampler$MetricsContainerForTracker.getStringSet(ExecutionStateSampler.java)
>
>                at
> org.apache.beam.sdk.metrics.Metrics$DelegatingStringSet.add(Metrics.java:179)
>
>                at org.apache.beam.sdk.metrics.Lineage.add(Lineage.java:115)
>
>                at org.apache.beam.sdk.metrics.Lineage.add(Lineage.java:122)
>
>                at
> org.apache.beam.sdk.io.kafka.KafkaWriter.processElement(KafkaWriter.java:99)
>
> And this is my Kafka writer:
>
> tokenizedMessagesXml.get(successTag).apply("WriteToKafka", KafkaIO.<Void,
> String>write()
>
>
> .withBootstrapServers(consumerConfig.get("bootstrap.servers").toString())
>
>                 .withTopic(topic)
>
>                 .withValueSerializer(StringSerializer.class)
>
>                 .updateProducerProperties(consumerConfigUpdates)
>
>                 .values()
>
>                 );
>
>
>
> The Java version I was using is 21 but I set the pom xml to build with
> version 11 and we are using apache beam sdk version 2.59.0
>
> <maven.compiler.source>11</maven.compiler.source>
>
>         <maven.compiler.target>11</maven.compiler.target>
>
>         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
>
>         <main.class>org.albertsons.audi.IBMMQToKafka</main.class>
>
>         <beam.sdk.version>2.59.0</beam.sdk.version>
>
>
> Any help on why I am getting this error would be greatly appreciated.
>
>
>
>
>
>
>
> *Zack Culberson*
>
> Data Engineer, Retail
>
> zackery.culber...@albertsons.com
>
> Albertsons Companies
>
> Phone: +1.605.431.1112 <(605)%20431-1112>
>
> [image: image005]
>
>
> ------------------------------
> Warning: All e-mail sent to this address will be received by the corporate
> e-mail system, and is subject to archival and review by someone other than
> the recipient. This e-mail may contain proprietary information and is
> intended only for the use of the intended recipient(s). If the reader of
> this message is not the intended recipient(s), you are notified that you
> have received this message in error and that any review, dissemination,
> distribution or copying of this message is strictly prohibited. If you have
> received this message in error, please notify the sender immediately.
> ------------------------------
>


-- 
Regards,
Tomo

Reply via email to