Details
-
Bug
-
Status: Resolved
-
P2
-
Resolution: Fixed
-
2.12.0, 2.13.0, 2.14.0, 2.15.0, 2.16.0, 2.17.0, 2.18.0, 2.19.0
-
None
-
Message Broker : solace
JMS Client (Over AMQP) : "org.apache.qpid:qpid-jms-client:0.42.0
Description
I get the following exception when reading from unbounded JMS Source:
Caused by: org.apache.avro.SchemaParseException: Illegal character in: this$0
at org.apache.avro.Schema.validateName(Schema.java:1151)
at org.apache.avro.Schema.access$200(Schema.java:81)
at org.apache.avro.Schema$Field.<init>(Schema.java:403)
at org.apache.avro.Schema$Field.<init>(Schema.java:396)
at org.apache.avro.reflect.ReflectData.createSchema(ReflectData.java:622)
at org.apache.avro.reflect.ReflectData.createFieldSchema(ReflectData.java:740)
at org.apache.avro.reflect.ReflectData.createSchema(ReflectData.java:604)
at org.apache.avro.specific.SpecificData$2.load(SpecificData.java:218)
at org.apache.avro.specific.SpecificData$2.load(SpecificData.java:215)
at avro.shaded.com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3568)
at avro.shaded.com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2350)
at avro.shaded.com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2313)
at avro.shaded.com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2228)
The exception is thrown by Avro when introspecting JmsCheckpointMark to generate schema.
JmsIO config :
PCollection<DFAMessage> messages = pipeline.apply("read messages from the events broker", JmsIO.<DFAMessage>readMessage() .withConnectionFactory(jmsConnectionFactory) .withTopic(options.getTopic()) .withMessageMapper(new DFAMessageMapper()) .withCoder(AvroCoder.of(DFAMessage.class)));