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

Client does not mark server unknown after "not master" error without a code

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major - P3
    • Resolution: Fixed
    • None
    • 4.0
    • Spec Comp
    • None

    Description

      PYTHON-2544 change pymongo to never inspect NotPrimary type error messages when a code exists. While investigating PYTHON-2773 we've identified a bug where pymongo does not mark a server unknown after receiving a "not master" error without a code:

       python -m unittest discover -v -k test_not_master_command
      test_not_master_command (test_reset_and_request_check.TestResetAndRequestCheck) ... FAIL
       
      ======================================================================
      FAIL: test_not_master_command (test_reset_and_request_check.TestResetAndRequestCheck)
      ----------------------------------------------------------------------
      Traceback (most recent call last):
        File "/Users/shane/git/mongo-python-driver/test/mockupdb/test_reset_and_request_check.py", line 121, in test
          test_method(self, operation)
        File "/Users/shane/git/mongo-python-driver/test/mockupdb/test_reset_and_request_check.py", line 116, in _test_not_master
          self.assertGreater(after, before, 'ismaster not called')
      AssertionError: 1637196202.716165 not greater than 1637196202.716165 : ismaster not called
       
      ----------------------------------------------------------------------
      Ran 1 test in 1.111s
       
      FAILED (failures=1)
      

      Where the error is defined as:

      # EG: {"ok": 0, "errmsg": "not master"}
      not_master_reply = OpMsgReply(ok=0, errmsg='not master')
      

      I believe the bug is that we raise NotPrimaryError in helpers.py correctly but Topology._handle_error() ignores the exception because the error code does not exist.

      Attachments

        Issue Links

          Activity

            People

              shane.harvey@mongodb.com Shane Harvey
              shane.harvey@mongodb.com Shane Harvey
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: