You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@beam.apache.org by "Eugene Nikolaiev (Jira)" <ji...@apache.org> on 2020/11/15 12:31:00 UTC

[jira] [Updated] (BEAM-11266) Cannot use Python MongoDB connector with Atlas MongoDB

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

Eugene Nikolaiev updated BEAM-11266:
------------------------------------
    Description: 
Cannot use the Python MongoDB connector with a managed Atlas instance. The current implementations makes use of splitVector which is a high-privilege function that cannot be assigned to any user in Atlas. Getting error:
{code:java}
pymongo.errors.OperationFailure: not authorized on properties to execute command
 { splitVector: "properties.properties", keyPattern: { _id: 1 },
...{code}
BEAM-4567 addressed the same issue in Java connector.

Proposed solution for Python is to add {{bucket_auto}} option for the connector which would configure it to use {{@bucketAuto}} MongoDB aggregation instead of {{splitVector}} command:
{code:java}
pipeline | ReadFromMongoDB(uri='mongodb+srv://user:pwd@cluster0.mongodb.net',
                           db='testdb',
                           coll='input',
                           bucket_auto=True)
{code}

  was:
Cannot use the Python MongoDB connector with a managed Atlas instance. The current implementations makes use of splitVector which is a high-privilege function that cannot be assigned to any user in Atlas. Getting error:
{code:java}
pymongo.errors.OperationFailure: not authorized on properties to execute command
 { splitVector: "properties.properties", keyPattern: { _id: 1 },
...{code}
BEAM-4567 addressed the same issue in Java connector.


> Cannot use Python MongoDB connector with Atlas MongoDB
> ------------------------------------------------------
>
>                 Key: BEAM-11266
>                 URL: https://issues.apache.org/jira/browse/BEAM-11266
>             Project: Beam
>          Issue Type: Bug
>          Components: io-py-mongodb
>    Affects Versions: 2.25.0
>         Environment: Google Cloud Dataflow
>            Reporter: Eugene Nikolaiev
>            Assignee: Yichi Zhang
>            Priority: P2
>              Labels: mongodb, python
>             Fix For: 2.27.0
>
>
> Cannot use the Python MongoDB connector with a managed Atlas instance. The current implementations makes use of splitVector which is a high-privilege function that cannot be assigned to any user in Atlas. Getting error:
> {code:java}
> pymongo.errors.OperationFailure: not authorized on properties to execute command
>  { splitVector: "properties.properties", keyPattern: { _id: 1 },
> ...{code}
> BEAM-4567 addressed the same issue in Java connector.
> Proposed solution for Python is to add {{bucket_auto}} option for the connector which would configure it to use {{@bucketAuto}} MongoDB aggregation instead of {{splitVector}} command:
> {code:java}
> pipeline | ReadFromMongoDB(uri='mongodb+srv://user:pwd@cluster0.mongodb.net',
>                            db='testdb',
>                            coll='input',
>                            bucket_auto=True)
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)