Uploaded image for project: 'Beam'
  1. Beam
  2. BEAM-7427

JmsCheckpointMark can not be correctly encoded

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: P2
    • Resolution: Fixed
    • Affects Version/s: 2.12.0, 2.13.0, 2.14.0, 2.15.0, 2.16.0, 2.17.0, 2.18.0, 2.19.0
    • Fix Version/s: 2.20.0
    • Component/s: io-java-jms
    • Labels:
      None
    • Environment:
      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)));
      

       

       

       

       

       

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                jbonofre Jean-Baptiste Onofré
                Reporter:
                mourad.zouabi Mourad
              • Votes:
                1 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 9h 50m
                  9h 50m