Client Backpressure

XMLWordPrintableJSON

    • Type: Epic
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Client Backpressure Python
    • Python Drivers
    • Needed
    • 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?
    • In Progress
    • 12
    • 16.5
    • 18
    • 100
    • 50
    • 🟢 On Track
    • Hide

      Engineer(s): Iris Ho, Steve Silvester, Noah Stapp

      What was accomplished since the last update?

      • DRIVERS-3239 (PYTHON-5528) - Add exponential backoff to operation retry loop for server overloaded errors
      • Continued to review in-progress specs PR and implement tests in Python. Updated transactions spec and added unified tests. Waiting for final specification approval before merging the Python PR.
      • DRIVERS-3344 (PYTHON-5662) Add support for server selection's deprioritized servers to all topologies
      • Specifications and Python implementation merged.
      • PERF-6964 Create a workload where only one mongos is overloaded
      • Completed the initial spike, deferred the follow up work since the approach showed minimal improvement.
      • What's the focus over the next two weeks?

      Any risks/blockers/impediments?

      • N/A
      Show
      Engineer(s): Iris Ho, Steve Silvester, Noah Stapp What was accomplished since the last update? DRIVERS-3239 ( PYTHON-5528 ) - Add exponential backoff to operation retry loop for server overloaded errors Continued to review in-progress specs PR and implement tests in Python. Updated transactions spec and added unified tests. Waiting for final specification approval before merging the Python PR. DRIVERS-3344 ( PYTHON-5662 ) Add support for server selection's deprioritized servers to all topologies Specifications and Python implementation merged. PERF-6964 Create a workload where only one mongos is overloaded Completed the initial spike, deferred the follow up work since the approach showed minimal improvement. What's the focus over the next two weeks? Merge PR for PYTHON-5528 Steve is taking over the overall Drivers Epic ( DRIVERS-3160 ) while Bailey is OOO Any risks/blockers/impediments? N/A
    • Hide

      2025-12-18 - 🟢 On Track
      Engineer(s): Iris Ho, Steve Silvester, Noah Stapp

      What was accomplished since the last update?

      • DRIVERS-3239 (PYTHON-5528) - Add exponential backoff to operation retry loop for server overloaded errors
      • Continued to review in-progress specs PR and implement tests in Python. Updated transactions spec and added unified tests. Waiting for final specification approval before merging the Python PR.
      • DRIVERS-3344 (PYTHON-5662) Add support for server selection's deprioritized servers to all topologies
      • Specifications and Python implementation merged.
      • PERF-6964 Create a workload where only one mongos is overloaded
      • Completed the initial spike, deferred the follow up work since the approach showed minimal improvement.
      • What's the focus over the next two weeks?

      Any risks/blockers/impediments?

      • N/A

      2025-12-18 - 🟢 On Track
      Engineer(s): Iris Ho, Steve Silvester, Noah Stapp

      What was accomplished since the last update?

      • DRIVERS-3239 (PYTHON-5528) - Add exponential backoff to operation retry loop for server overloaded errors
      • Continued to review in-progress specs PR and implement tests in Python. Updated transactions spec and added unified tests. Waiting for final specification approval before merging the Python PR.
      • DRIVERS-3344 (PYTHON-5662) Add support for server selection's deprioritized servers to all topologies
      • Specifications and Python implementation merged.
      • PERF-6964 Create a workload where only one mongos is overloaded
      • Completed the initial spike, deferred the follow up work since the approach showed minimal improvement.
      • What's the focus over the next two weeks?

      Any risks/blockers/impediments?

      • N/A

      2025-12-05 - 🟢 On Track
      Engineer(s): Iris Ho, Steve Silvester, Noah Stapp

      What was accomplished since the last update?

      • DRIVERS-3239 (PYTHON-5528) - Add exponential backoff to operation retry loop for server overloaded errors
        • Reviewed in-progress specs PR and implemented tests in Python. Waiting for final specification approval before merging the Python PR.
      • PYTHON-5651 - Deprioritize previous servers for overload retry attempts
        • Implemented along with PYTHON-5528 to test against unified and prose tests

      What's the focus over the next two weeks?

      Any risks/blockers/impediments?

      • N/A

      2025-11-25 - 🟢 On Track
      Engineer(s): Shane Harvey, Iris Ho, Steve Silvester

      What was accomplished since the last update?

      • What's the focus over the next two weeks?
        • Implementing DRIVERS-3217 once the specifications PR is available

      Any risks/blockers/impediments?

      • N/A

      2025-11-12 - 🟢 On Track
      Engineer(s): Shane Harvey, Iris Ho, Steve Silvester

      What was accomplished since the last update?

       

      • PYTHON-5562 investigate default values for withTransaction backoff parameters
        • Work is finished. Investigation done and findings presented to the larger DBX team at dbx offsite
      • PYTHON-5518 withTransaction API retries too frequently
        • Made a breakthrough on consistent test reproduction for withTransaction retry, convened on leveraging a "jitter constant" for the sake of maintaining determinism in tests. Confirmed feasibility across drivers teams and updated the spec and tests to reflect this.
      • PYTHON-5536 --> PYTHON 5517
        • Availability Workload (PERF-7078) merged
        • Python implementation currently under review PYTHON-5517
        • Spec PR in review (in sync with python implementation) DRIVERS-3218
      • What's the focus over the next two weeks?
        • Merging the Specifications PRs
        • Merging the implementations derivate of those Specification PRs

      Any risks/blockers/impediments?

      • N/A
            • 2025-11-12 - 🟢 On Track
              Engineer(s): Shane Harvey, Iris Ho, Steve Silvester

       

      What was accomplished since the last update?

       

      • PYTHON-5562 investigate default values for withTransaction backoff parameters
        • Work is finished. Investigation done and findings presented to the larger DBX team at dbx offsite
      • PYTHON-5518 withTransaction API retries too frequently
        • Made a breakthrough on consistent test reproduction for withTransaction retry, convened on leveraging a "jitter constant" for the sake of maintaining determinism in tests. Confirmed feasibility across drivers teams and updated the spec and tests to reflect this.
      • PYTHON-5536 --> PYTHON 5517
        • Availability Workload (PERF-7078) merged
        • Python implementation currently under review PYTHON-5517
        • Spec PR in review (in sync with python implementation) DRIVERS-3218
      • What's the focus over the next two weeks?
        • Merging the Specifications PRs
        • Merging the implementations derivate of those Specification PRs

      Any risks/blockers/impediments?

      • N/A
      Show
      2025-12-18 - 🟢 On Track Engineer(s): Iris Ho, Steve Silvester, Noah Stapp What was accomplished since the last update? DRIVERS-3239 ( PYTHON-5528 ) - Add exponential backoff to operation retry loop for server overloaded errors Continued to review in-progress specs PR and implement tests in Python. Updated transactions spec and added unified tests. Waiting for final specification approval before merging the Python PR. DRIVERS-3344 ( PYTHON-5662 ) Add support for server selection's deprioritized servers to all topologies Specifications and Python implementation merged. PERF-6964 Create a workload where only one mongos is overloaded Completed the initial spike, deferred the follow up work since the approach showed minimal improvement. What's the focus over the next two weeks? Merge PR for PYTHON-5528 Steve is taking over the overall Drivers Epic ( DRIVERS-3160 ) while Bailey is OOO Any risks/blockers/impediments? N/A 2025-12-18 - 🟢 On Track Engineer(s): Iris Ho, Steve Silvester, Noah Stapp What was accomplished since the last update? DRIVERS-3239 ( PYTHON-5528 ) - Add exponential backoff to operation retry loop for server overloaded errors Continued to review in-progress specs PR and implement tests in Python. Updated transactions spec and added unified tests. Waiting for final specification approval before merging the Python PR. DRIVERS-3344 ( PYTHON-5662 ) Add support for server selection's deprioritized servers to all topologies Specifications and Python implementation merged. PERF-6964 Create a workload where only one mongos is overloaded Completed the initial spike, deferred the follow up work since the approach showed minimal improvement. What's the focus over the next two weeks? Merge PR for PYTHON-5528 Steve is taking over the overall Drivers Epic ( DRIVERS-3160 ) while Bailey is OOO Any risks/blockers/impediments? N/A 2025-12-05 - 🟢 On Track Engineer(s): Iris Ho, Steve Silvester, Noah Stapp What was accomplished since the last update? DRIVERS-3239 ( PYTHON-5528 ) - Add exponential backoff to operation retry loop for server overloaded errors Reviewed in-progress specs PR and implemented tests in Python. Waiting for final specification approval before merging the Python PR. PYTHON-5651 - Deprioritize previous servers for overload retry attempts Implemented along with PYTHON-5528 to test against unified and prose tests DRIVERS-3218 ( PYTHON-5517 ) Specification and Python implementation merged. DRIVERS-1934 ( PYTHON-5518 ) Specifications and Python implementation merged. What's the focus over the next two weeks? DRIVERS-3344 ( PYTHON-5662 ) - specifications and PyMongo implementation Merge PR for PYTHON-5528 and PYTHON-5651 Any risks/blockers/impediments? N/A 2025-11-25 - 🟢 On Track Engineer(s): Shane Harvey, Iris Ho, Steve Silvester What was accomplished since the last update? DRIVERS-3218 ( PYTHON-5517 ) Implementations complete, awaiting specifications PR in final review. DRIVERS-1934 ( PYTHON-5518 ) Implementations complete, awaiting specifications PR in final review. What's the focus over the next two weeks? Implementing DRIVERS-3217 once the specifications PR is available Any risks/blockers/impediments? N/A 2025-11-12 - 🟢 On Track Engineer(s): Shane Harvey, Iris Ho, Steve Silvester What was accomplished since the last update?   PYTHON-5562 investigate default values for withTransaction backoff parameters Work is finished. Investigation done and findings presented to the larger DBX team at dbx offsite PYTHON-5518 withTransaction API retries too frequently Made a breakthrough on consistent test reproduction for withTransaction retry, convened on leveraging a "jitter constant" for the sake of maintaining determinism in tests. Confirmed feasibility across drivers teams and updated the spec and tests to reflect this. PYTHON-5536 --> PYTHON 5517 Availability Workload (PERF-7078) merged Python implementation currently under review PYTHON-5517 Spec PR in review (in sync with python implementation) DRIVERS-3218 What's the focus over the next two weeks? Merging the Specifications PRs Merging the implementations derivate of those Specification PRs Any risks/blockers/impediments? N/A 2025-11-12 - 🟢 On Track Engineer(s): Shane Harvey, Iris Ho, Steve Silvester   What was accomplished since the last update?   PYTHON-5562 investigate default values for withTransaction backoff parameters Work is finished. Investigation done and findings presented to the larger DBX team at dbx offsite PYTHON-5518 withTransaction API retries too frequently Made a breakthrough on consistent test reproduction for withTransaction retry, convened on leveraging a "jitter constant" for the sake of maintaining determinism in tests. Confirmed feasibility across drivers teams and updated the spec and tests to reflect this. PYTHON-5536 --> PYTHON 5517 Availability Workload (PERF-7078) merged Python implementation currently under review PYTHON-5517 Spec PR in review (in sync with python implementation) DRIVERS-3218 What's the focus over the next two weeks? Merging the Specifications PRs Merging the implementations derivate of those Specification PRs Any risks/blockers/impediments? N/A
    • 11
    • Hide

      Summary of necessary driver changes

      •  

      Commits for syncing spec/prose tests
      (and/or refer to an existing language POC if needed)

      •  

      Context for other referenced/linked tickets

      •  
      Show
      Summary of necessary driver changes   Commits for syncing spec/prose tests (and/or refer to an existing language POC if needed)   Context for other referenced/linked tickets  
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      This ticket was split from DRIVERS-3160, please see that ticket for a detailed description.

            Assignee:
            Steve Silvester
            Reporter:
            TPM Jira Automations Bot
            None
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              None
              None
              None