[ https://issues.apache.org/jira/browse/BEAM-7427?focusedWorklogId=374836&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-374836 ]
ASF GitHub Bot logged work on BEAM-7427: ---------------------------------------- Author: ASF GitHub Bot Created on: 21/Jan/20 06:49 Start Date: 21/Jan/20 06:49 Worklog Time Spent: 10m Work Description: jbonofre commented on issue #8757: [BEAM-7427] Fix JmsCheckpointMark Avro Encoding URL: https://github.com/apache/beam/pull/8757#issuecomment-576542230 I'm evaluating the following options: 0. Add a test with AvroCoder on checkpoint mark 1. use JmsRecord in the checkpoint instead of Message to ack. The issue is how to "load" Message from JmsRecord. 2. use Session to ack instead of message. The Session stores the unack messages, so the checkpoint mark could delegate to the session. I'm evaluating the different options. I keep you posted soon. ---------------------------------------------------------------- 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: 374836) Time Spent: 3h 10m (was: 3h) > 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: 3h 10m > 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)