Hi Zack,

Have you seen Tomo's response (below)? Were you able to resolve your issue?

Ahmet

On Tue, Oct 29, 2024 at 5:46 PM Tomo Suzuki via user <[email protected]>
wrote:

> 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 <
> [email protected]> 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
>>
>> [email protected]
>>
>> 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