MacOS Arm64 Test Regressions

XMLWordPrintableJSON

    • Type: Build Failure
    • Resolution: Unresolved
    • Priority: Unknown
    • None
    • Affects Version/s: None
    • Component/s: Tests
    • None
    • Python Drivers
    • None
    • None
    • None
    • None
    • None
    • None

      Name of Failure:

      There were some new failures on the MacOS arm64 tests after merging PYTHON-3689. In theory, the only affected test should have been test_load_balancing, but the following tests are failing:

      test.asynchronous.test_concurrency.TestAsyncConcurrency.test_concurrency
      test.asynchronous.test_pooling.TestPoolMaxSize.test_max_pool_size
      test.asynchronous.test_pooling.TestPoolMaxSize.test_max_pool_size_none
      

      Link to task:

      https://spruce.corp.mongodb.com/task/mongo_python_driver_test_macos_arm64_test_standard_latest_python3.14_async_noauth_nossl_standalone_cov_98c002a4cf15d6f9b8eb6599b5a0bcbcb2b8e805_26_06_04_13_43_10/tests?execution=0&sorts=STATUS%3AASC

      Context of when and why the failure occurred:

      After merging PYTHON-3689, though it is not clear why. Perhaps the host is slower.

      Stack trace:

      [2026/06/04 09:51:05.928] FAILURE: AssertionError: -63.649221154514315 not greater than or equal to 50 ()
      [2026/06/04 09:51:05.928] self = <test.asynchronous.test_concurrency.TestAsyncConcurrency testMethod=test_concurrency>
      [2026/06/04 09:51:05.928]     async def test_concurrency(self):
      [2026/06/04 09:51:05.928]         tasks = []
      [2026/06/04 09:51:05.928]         iterations = 5
      [2026/06/04 09:51:05.928]     
      [2026/06/04 09:51:05.928]         client = await self.async_single_client()
      [2026/06/04 09:51:05.928]         await client.db.test.drop()
      [2026/06/04 09:51:05.928]         await client.db.test.insert_one({"x": 1})
      [2026/06/04 09:51:05.928]     
      [2026/06/04 09:51:05.928]         start = time.time()
      [2026/06/04 09:51:05.928]     
      [2026/06/04 09:51:05.928]         for _ in range(iterations):
      [2026/06/04 09:51:05.928]             await self._task(client)
      [2026/06/04 09:51:05.928]     
      [2026/06/04 09:51:05.928]         sequential_time = time.time() - start
      [2026/06/04 09:51:05.928]         start = time.time()
      [2026/06/04 09:51:05.928]     
      [2026/06/04 09:51:05.928]         for i in range(iterations):
      [2026/06/04 09:51:05.928]             tasks.append(self._task(client))
      [2026/06/04 09:51:05.928]     
      [2026/06/04 09:51:05.928]         await asyncio.gather(*tasks)
      [2026/06/04 09:51:05.928]         concurrent_time = time.time() - start
      [2026/06/04 09:51:05.928]     
      [2026/06/04 09:51:05.928]         percent_faster = (sequential_time - concurrent_time) / concurrent_time * 100
      [2026/06/04 09:51:05.928]         # We expect the concurrent tasks to be at least 50% faster on all platforms as a conservative benchmark
      [2026/06/04 09:51:05.928] >       self.assertGreaterEqual(percent_faster, 50)
      [2026/06/04 09:51:05.928] E       AssertionError: -63.649221154514315 not greater than or equal to 50
      [2026/06/04 09:51:05.928] test/asynchronous/test_concurrency.py:54: AssertionError
      

            Assignee:
            Steve Silvester
            Reporter:
            Steve Silvester
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: