Uploaded image for project: 'Python Driver'
  1. Python Driver
  2. PYTHON-2164

Rethink MongoClient read only configuration attributes

    XMLWordPrintableJSON

Details

    • Task
    • Status: Closed
    • Major - P3
    • Resolution: Fixed
    • None
    • 4.0
    • None
    • None
    • Major Change

    Description

      MongoClient has a large-ish number of read only attributes, some with values that were defined at creation time, some that provide information about the connected topology. The MongoClient configuration attributes (max_pool_size, min_pool_size, max_idle_time_ms, local_threshold_ms, server_selection_timeout, etc.) only represent a small number of the possible URI options. The attributes that expose limits of a connected server (max_bson_size, max_message_size, max_write_batch_size, etc.) are potentially misleading since they can vary from mongod instance to instance in a mixed version replica set, and may not represent the limits of the shards behind a connected mongos. They are a vestige of prehistoric versions of MongoClient (called Connection back then) that only connected to a single mongod.

      Let's rethink all of this for PyMongo 4.0. If we want to expose the values used to configure the MongoClient instance, we can just expose them all in one attribute (sans read_concern, read_preference and write_concern which have to remain). For topology information we should probably just deprecate and delete the attributes, adding documentation and examples for how to access the information for each topology member.

      Attachments

        Issue Links

          Activity

            People

              shane.harvey@mongodb.com Shane Harvey
              bernie@mongodb.com Bernie Hackett
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: