You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by "Pascal Castéran (JIRA)" <ji...@apache.org> on 2017/07/12 09:38:00 UTC

[jira] [Updated] (BEAM-2605) Exception raised when using MongoDBIO.Write in streaming mode

     [ 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)