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

Async client should use asyncio.Lock and asyncio.Condition

    • Type: Icon: Task Task
    • Resolution: Done
    • Priority: Icon: Unknown Unknown
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Python Drivers
    • Hide

      1. What would you like to communicate to the user about this feature?
      2. Would you like the user to see examples of the syntax and/or executable code and its output?
      3. Which versions of the driver/connector does this apply to?

      Show
      1. What would you like to communicate to the user about this feature? 2. Would you like the user to see examples of the syntax and/or executable code and its output? 3. Which versions of the driver/connector does this apply to?

      After PYTHON-4725, we should change async clients to use asyncio.Lock and asyncio.Condition. We should verify that this change fixes the performance issues in PYTHON-4603.

      Note that asyncio.Condition is broken in various ways which have only been fixed in recent python versions, eg:

      Therefore we may have to vendor the 3.13.0 asyncio.Condition+Lock classes to use on older python versions.

            Assignee:
            noah.stapp@mongodb.com Noah Stapp
            Reporter:
            shane.harvey@mongodb.com Shane Harvey
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: