damccorm opened a new issue, #21005:
URL: https://github.com/apache/beam/issues/21005

   Currently the MongoDbIO.Read implementation assumes that the submitted 
QueryFn is one of the predefined QueryFns in Beam, so either an 
AggregationQuery or FindQuery. The problem is this assumption is not documented 
anywhere.
   
   Fixing this consists of two small changes:
   
   1. Add documentation to the 
[withQueryFn](https://github.com/apache/beam/blob/release-2.31.0/sdks/java/io/mongodb/src/main/java/org/apache/beam/sdk/io/mongodb/MongoDbIO.java#L279)
 method specifying that the QueryFn must be one of the predefined classes in 
the MongoDbIO package.
   
   2. In the [split 
method](https://github.com/apache/beam/blob/release-2.31.0/sdks/java/io/mongodb/src/main/java/org/apache/beam/sdk/io/mongodb/MongoDbIO.java#L435),
 the code checks if the QueryFn is a FindQuery, and if not assumes it's an 
AggregationQuery, meaning that users that input their own class will find it 
failing to cast to an AggregationQuery. Instead, there should be an error if 
the QueryFn is an unknown type, preferably instructing users to only use one of 
the predefined QueryFn types.
   
   Imported from Jira 
[BEAM-12466](https://issues.apache.org/jira/browse/BEAM-12466). Original Jira 
may contain additional context.
   Reported by: danoliveira.


-- 
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.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to