Details
-
Bug
-
Status: Resolved
-
P2
-
Resolution: Fixed
-
2.34.0
-
None
Description
I'm trying to configure my pipeline to read AVRO-encoded messages from Kafka with deserialization delegated to the ConfluentSchemaRegistryDeserialzerProvider, and I'm getting the following error:
Exception in thread "main" java.lang.IllegalAccessError: failed to access class org.apache.beam.sdk.io.kafka.DeserializerProvider from class MyClass (both are in unnamed module of loader 'app')
The way I configure the KafkaIO.Read is like:
KafkaIO.read<String, GenericRecord>() .withBootstrapServers(...) .withKeyDeserializer(StringDeserializer::class.java) .withValueDeserializer(ConfluentSchemaRegistryDeserializerProvider.of<GenericRecord>(...)) .withTopic(...) ...
I checked the DeserializerProvider interface and it's package-private - it's not even listed in the official java docs for Beam (https://beam.apache.org/releases/javadoc/2.34.0/org/apache/beam/sdk/io/kafka/package-summary.html); the ConfluentSchemaRegistryDeserialzerProvider is public.
Am I the only one trying to use this API, or am I doing sth terribly wrong?
Attachments
Issue Links
- links to