[ https://issues.apache.org/jira/browse/BEAM-7427?focusedWorklogId=378246&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-378246 ]
ASF GitHub Bot logged work on BEAM-7427: ---------------------------------------- Author: ASF GitHub Bot Created on: 28/Jan/20 13:50 Start Date: 28/Jan/20 13:50 Worklog Time Spent: 10m Work Description: iemejia commented on issue #10644: [BEAM-7427] Refactore JmsCheckpointMark to be usage via Coder URL: https://github.com/apache/beam/pull/10644#issuecomment-579254727 Sorry for the delay, the extra commit with the fixes looks good. I was thinking that since the stored messages are not needed to restore the progress of the reads on `UnboundedJmsReader` maybe the simplest fix is just to let them transient as you proposed. About the State changes maybe let's do those in a subsequent PR so we can get this fix out more quickly. WDYT If you agree just let the class as it was before and then I will merge. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking ------------------- Worklog Id: (was: 378246) Time Spent: 8h 20m (was: 8h 10m) > JmsCheckpointMark Avro Serialization issue with UnboundedSource > --------------------------------------------------------------- > > Key: BEAM-7427 > URL: https://issues.apache.org/jira/browse/BEAM-7427 > Project: Beam > Issue Type: Bug > Components: io-java-jms > Affects Versions: 2.12.0 > Environment: Message Broker : solace > JMS Client (Over AMQP) : "org.apache.qpid:qpid-jms-client:0.42.0 > Reporter: Mourad > Assignee: Mourad > Priority: Major > Time Spent: 8h 20m > Remaining Estimate: 0h > > I get the following exception when reading from unbounded JMS Source: > > {code:java} > 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) > {code} > > The exception is thrown by Avro when introspecting {{JmsCheckpointMark}} to > generate schema. > JmsIO config : > > {code:java} > 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))); > {code} > > > > > -- This message was sent by Atlassian Jira (v8.3.4#803005)