[ 
https://issues.apache.org/jira/browse/BEAM-2605?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Pascal Castéran updated BEAM-2605:
----------------------------------
    Description: 
In org.apache.beam.sdk.io.mongodb.MongoDbIO.Write.WriteFn#flush(), no check is 
done on the size of the batch list of documents before executing the 
_*insertMany*_ operation.

In streaming mode, when processing an empty pane, an empty list of documents is 
passed to the MongoDB client which results in the following exception:
{quote}java.lang.IllegalArgumentException: state should be: writes is not an 
empty list
        at com.mongodb.assertions.Assertions.isTrueArgument(Assertions.java:99)
        at 
com.mongodb.operation.MixedBulkWriteOperation.<init>(MixedBulkWriteOperation.java:95)
        at 
com.mongodb.MongoCollectionImpl.insertMany(MongoCollectionImpl.java:323)
        at 
com.mongodb.MongoCollectionImpl.insertMany(MongoCollectionImpl.java:311)
        at 
org.apache.beam.sdk.io.mongodb.MongoDbIO$Write$WriteFn.flush(MongoDbIO.java:513)
        at 
org.apache.beam.sdk.io.mongodb.MongoDbIO$Write$WriteFn.finishBundle(MongoDbIO.java:506){quote}

  was:
In org.apache.beam.sdk.io.mongodb.MongoDbIO.Write.WriteFn#flush(), no check is 
done on the size of the batch list of documents before executing the 
_*insertMany*_ operation.

In streaming mode, when processing an empty pane, an empty list of documents in 
passed to the MongoDB client which results in the following exception:
{quote}java.lang.IllegalArgumentException: state should be: writes is not an 
empty list
        at com.mongodb.assertions.Assertions.isTrueArgument(Assertions.java:99)
        at 
com.mongodb.operation.MixedBulkWriteOperation.<init>(MixedBulkWriteOperation.java:95)
        at 
com.mongodb.MongoCollectionImpl.insertMany(MongoCollectionImpl.java:323)
        at 
com.mongodb.MongoCollectionImpl.insertMany(MongoCollectionImpl.java:311)
        at 
org.apache.beam.sdk.io.mongodb.MongoDbIO$Write$WriteFn.flush(MongoDbIO.java:513)
        at 
org.apache.beam.sdk.io.mongodb.MongoDbIO$Write$WriteFn.finishBundle(MongoDbIO.java:506){quote}


> Exception raised when using MongoDBIO.Write in streaming mode
> -------------------------------------------------------------
>
>                 Key: BEAM-2605
>                 URL: https://issues.apache.org/jira/browse/BEAM-2605
>             Project: Beam
>          Issue Type: Bug
>          Components: sdk-java-extensions
>    Affects Versions: 2.0.0
>            Reporter: Pascal Castéran
>            Assignee: Davor Bonaci
>
> In org.apache.beam.sdk.io.mongodb.MongoDbIO.Write.WriteFn#flush(), no check 
> is done on the size of the batch list of documents before executing the 
> _*insertMany*_ operation.
> In streaming mode, when processing an empty pane, an empty list of documents 
> is passed to the MongoDB client which results in the following exception:
> {quote}java.lang.IllegalArgumentException: state should be: writes is not an 
> empty list
>       at com.mongodb.assertions.Assertions.isTrueArgument(Assertions.java:99)
>       at 
> com.mongodb.operation.MixedBulkWriteOperation.<init>(MixedBulkWriteOperation.java:95)
>       at 
> com.mongodb.MongoCollectionImpl.insertMany(MongoCollectionImpl.java:323)
>       at 
> com.mongodb.MongoCollectionImpl.insertMany(MongoCollectionImpl.java:311)
>       at 
> org.apache.beam.sdk.io.mongodb.MongoDbIO$Write$WriteFn.flush(MongoDbIO.java:513)
>       at 
> org.apache.beam.sdk.io.mongodb.MongoDbIO$Write$WriteFn.finishBundle(MongoDbIO.java:506){quote}



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

Reply via email to