Nigel Kilmer created BEAM-2629:
----------------------------------

             Summary: Adding timestamp and id attributes to pubsub messages 
with no other attributes causes an exception.
                 Key: BEAM-2629
                 URL: https://issues.apache.org/jira/browse/BEAM-2629
             Project: Beam
          Issue Type: Bug
          Components: sdk-java-gcp
    Affects Versions: 2.2.0
            Reporter: Nigel Kilmer
            Assignee: Nigel Kilmer


I'm trying to use PubsubIO.writeProtos along with a timestamp and id attribute. 
When PubsubIO tries to write the messages to my topic, it throws a 
PipelineExecutionException with this cause:

Caused by: java.lang.UnsupportedOperationException
        at java.util.AbstractMap.put(AbstractMap.java:209)
        at 
org.apache.beam.sdk.io.gcp.pubsub.PubsubJsonClient.publish(PubsubJsonClient.java:148)
        at 
org.apache.beam.sdk.io.gcp.pubsub.PubsubUnboundedSink$WriterFn.publishBatch(PubsubUnboundedSink.java:249)
        at 
org.apache.beam.sdk.io.gcp.pubsub.PubsubUnboundedSink$WriterFn.processElement(PubsubUnboundedSink.java:285)

Looks like the problem is that PubsubJsonClient attempts to add the timestamp 
and id attributes to a map which may be empty and immutable if no other 
attributes are specified on the message. I will submit a pull request with a 
fix for this bug shortly.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to