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

Fix command monitoring test runner to ignore unexpected writeError fields

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Minor - P4 Minor - P4
    • 3.6.1
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      None

      Sharded clusters have begun returning a codeName field in writeError documents. This is seemingly related to SERVER-23501, but the tests are only failing against MongoDB 3.7.

       [2018/02/12 17:09:33.260] ======================================================================
       [2018/02/12 17:09:33.260] FAIL [0.033s]: test_command_monitoring_deleteMany_A_successful_delete_many_command_with_write_errors (test_command_monitoring_spec.TestAllScenarios)
       [2018/02/12 17:09:33.260] ----------------------------------------------------------------------
       [2018/02/12 17:09:33.260] Traceback (most recent call last):
       [2018/02/12 17:09:33.260]   File "/data/mci/88f2809ff244a0184e91f4bd3a0bc5dd/src/test/test_command_monitoring_spec.py", line 193, in run_scenario
       [2018/02/12 17:09:33.260]     self.assertEqual(val, actual[key])
       [2018/02/12 17:09:33.260] AssertionError: Lists differ: [{'index': 0, 'code': 42, 'errmsg': u''}] != [{u'index': 0, u'codeName': u'BadValue', u'code': 42, u'errmsg': ''}]
       [2018/02/12 17:09:33.260] First differing element 0:
       [2018/02/12 17:09:33.260] {'index': 0, 'code': 42, 'errmsg': u''}
       [2018/02/12 17:09:33.260] {u'index': 0, u'codeName': u'BadValue', u'code': 42, u'errmsg': ''}
       [2018/02/12 17:09:33.260] - [{'code': 42, 'errmsg': u'', 'index': 0}]
       [2018/02/12 17:09:33.260] + [{u'code': 42, u'codeName': u'BadValue', u'errmsg': '', u'index': 0}]
       [2018/02/12 17:09:33.260] ======================================================================
       [2018/02/12 17:09:33.260] FAIL [0.024s]: test_command_monitoring_deleteOne_A_successful_delete_one_command_with_write_errors (test_command_monitoring_spec.TestAllScenarios)
       [2018/02/12 17:09:33.260] ----------------------------------------------------------------------
       [2018/02/12 17:09:33.260] Traceback (most recent call last):
       [2018/02/12 17:09:33.260]   File "/data/mci/88f2809ff244a0184e91f4bd3a0bc5dd/src/test/test_command_monitoring_spec.py", line 193, in run_scenario
       [2018/02/12 17:09:33.260]     self.assertEqual(val, actual[key])
       [2018/02/12 17:09:33.260] AssertionError: Lists differ: [{'index': 0, 'code': 42, 'errmsg': u''}] != [{u'index': 0, u'codeName': u'BadValue', u'code': 42, u'errmsg': ''}]
       [2018/02/12 17:09:33.260] First differing element 0:
       [2018/02/12 17:09:33.260] {'index': 0, 'code': 42, 'errmsg': u''}
       [2018/02/12 17:09:33.260] {u'index': 0, u'codeName': u'BadValue', u'code': 42, u'errmsg': ''}
       [2018/02/12 17:09:33.260] - [{'code': 42, 'errmsg': u'', 'index': 0}]
       [2018/02/12 17:09:33.260] + [{u'code': 42, u'codeName': u'BadValue', u'errmsg': '', u'index': 0}]
       [2018/02/12 17:09:33.260] ======================================================================
       [2018/02/12 17:09:33.260] FAIL [0.047s]: test_command_monitoring_insertMany_A_successful_insert_many_command_with_write_errors (test_command_monitoring_spec.TestAllScenarios)
       [2018/02/12 17:09:33.260] ----------------------------------------------------------------------
       [2018/02/12 17:09:33.260] Traceback (most recent call last):
       [2018/02/12 17:09:33.260]   File "/data/mci/88f2809ff244a0184e91f4bd3a0bc5dd/src/test/test_command_monitoring_spec.py", line 193, in run_scenario
       [2018/02/12 17:09:33.260]     self.assertEqual(val, actual[key])
       [2018/02/12 17:09:33.260] AssertionError: Lists differ: [{'index': 0, 'code': 42, 'errmsg': u''}] != [{u'index': 0, u'codeName': u'DuplicateKey', u'code': 42, u'errmsg': ''}]
       [2018/02/12 17:09:33.260] First differing element 0:
       [2018/02/12 17:09:33.260] {'index': 0, 'code': 42, 'errmsg': u''}
       [2018/02/12 17:09:33.260] {u'index': 0, u'codeName': u'DuplicateKey', u'code': 42, u'errmsg': ''}
       [2018/02/12 17:09:33.260] - [{'code': 42, 'errmsg': u'', 'index': 0}]
       [2018/02/12 17:09:33.260] + [{u'code': 42, u'codeName': u'DuplicateKey', u'errmsg': '', u'index': 0}]
       [2018/02/12 17:09:33.260] ======================================================================
       [2018/02/12 17:09:33.260] FAIL [0.022s]: test_command_monitoring_insertOne_A_successful_insert_one_command_with_write_errors (test_command_monitoring_spec.TestAllScenarios)
       [2018/02/12 17:09:33.260] ----------------------------------------------------------------------
       [2018/02/12 17:09:33.260] Traceback (most recent call last):
       [2018/02/12 17:09:33.260]   File "/data/mci/88f2809ff244a0184e91f4bd3a0bc5dd/src/test/test_command_monitoring_spec.py", line 193, in run_scenario
       [2018/02/12 17:09:33.260]     self.assertEqual(val, actual[key])
       [2018/02/12 17:09:33.260] AssertionError: Lists differ: [{'index': 0, 'code': 42, 'errmsg': u''}] != [{u'index': 0, u'codeName': u'DuplicateKey', u'code': 42, u'errmsg': ''}]
       [2018/02/12 17:09:33.260] First differing element 0:
       [2018/02/12 17:09:33.260] {'index': 0, 'code': 42, 'errmsg': u''}
       [2018/02/12 17:09:33.260] {u'index': 0, u'codeName': u'DuplicateKey', u'code': 42, u'errmsg': ''}
       [2018/02/12 17:09:33.260] - [{'code': 42, 'errmsg': u'', 'index': 0}]
       [2018/02/12 17:09:33.260] + [{u'code': 42, u'codeName': u'DuplicateKey', u'errmsg': '', u'index': 0}]
       [2018/02/12 17:09:33.260] ======================================================================
       [2018/02/12 17:09:33.260] FAIL [0.026s]: test_command_monitoring_updateMany_A_successful_update_many_command_with_write_errors (test_command_monitoring_spec.TestAllScenarios)
       [2018/02/12 17:09:33.260] ----------------------------------------------------------------------
       [2018/02/12 17:09:33.260] Traceback (most recent call last):
       [2018/02/12 17:09:33.260]   File "/data/mci/88f2809ff244a0184e91f4bd3a0bc5dd/src/test/test_command_monitoring_spec.py", line 193, in run_scenario
       [2018/02/12 17:09:33.260]     self.assertEqual(val, actual[key])
       [2018/02/12 17:09:33.260] AssertionError: Lists differ: [{'index': 0, 'code': 42, 'errmsg': u''}] != [{u'index': 0, u'codeName': u'FailedToParse', u'code': 42, u'errmsg': ''}]
       [2018/02/12 17:09:33.260] First differing element 0:
       [2018/02/12 17:09:33.260] {'index': 0, 'code': 42, 'errmsg': u''}
       [2018/02/12 17:09:33.260] {u'index': 0, u'codeName': u'FailedToParse', u'code': 42, u'errmsg': ''}
       [2018/02/12 17:09:33.260] - [{'code': 42, 'errmsg': u'', 'index': 0}]
       [2018/02/12 17:09:33.260] + [{u'code': 42, u'codeName': u'FailedToParse', u'errmsg': '', u'index': 0}]
       [2018/02/12 17:09:33.260] ======================================================================
       [2018/02/12 17:09:33.260] FAIL [0.018s]: test_command_monitoring_updateOne_A_successful_update_one_command_with_write_errors (test_command_monitoring_spec.TestAllScenarios)
       [2018/02/12 17:09:33.260] ----------------------------------------------------------------------
       [2018/02/12 17:09:33.260] Traceback (most recent call last):
       [2018/02/12 17:09:33.260]   File "/data/mci/88f2809ff244a0184e91f4bd3a0bc5dd/src/test/test_command_monitoring_spec.py", line 193, in run_scenario
       [2018/02/12 17:09:33.260]     self.assertEqual(val, actual[key])
       [2018/02/12 17:09:33.260] AssertionError: Lists differ: [{'index': 0, 'code': 42, 'errmsg': u''}] != [{u'index': 0, u'codeName': u'FailedToParse', u'code': 42, u'errmsg': ''}]
       [2018/02/12 17:09:33.260] First differing element 0:
       [2018/02/12 17:09:33.260] {'index': 0, 'code': 42, 'errmsg': u''}
       [2018/02/12 17:09:33.260] {u'index': 0, u'codeName': u'FailedToParse', u'code': 42, u'errmsg': ''}
       [2018/02/12 17:09:33.260] - [{'code': 42, 'errmsg': u'', 'index': 0}]
       [2018/02/12 17:09:33.260] + [{u'code': 42, u'codeName': u'FailedToParse', u'errmsg': '', u'index': 0}]
       [2018/02/12 17:09:33.260] ======================================================================
       [2018/02/12 17:09:33.260] FAIL [0.150s]: test_write_errors (test_monitoring.TestCommandMonitoring)
       [2018/02/12 17:09:33.260] ----------------------------------------------------------------------
       [2018/02/12 17:09:33.260] Traceback (most recent call last):
       [2018/02/12 17:09:33.260]   File "/data/mci/88f2809ff244a0184e91f4bd3a0bc5dd/src/test/test_monitoring.py", line 1215, in test_write_errors
       [2018/02/12 17:09:33.260]     self.assertEqual(fields, set(error))
       [2018/02/12 17:09:33.260] AssertionError: Items in the second set but not the first:
       [2018/02/12 17:09:33.260] u'codeName'
       [2018/02/12 17:09:33.260] ----------------------------------------------------------------------
      

            Assignee:
            bernie@mongodb.com Bernie Hackett
            Reporter:
            bernie@mongodb.com Bernie Hackett
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: