Uploaded image for project: 'WiredTiger'
  1. WiredTiger
  2. WT-5497

Fix verify ignoring the return error in __verify_key_hs()

    • Type: Icon: Bug Bug
    • Resolution: Duplicate
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • 5
    • Storage Engines 2020-02-10

      Introduced by changes for WT-5347: https://github.com/wiredtiger/wiredtiger/pull/5184

      We are ignoring the return value in case we get an error in __verify_key_hs. When I make the following change to return the error back to the caller, some python tests, for instance test_bug005.py:

      diff --git a/src/btree/bt_vrfy.c b/src/btree/bt_vrfy.c
      index 9302e1058..ac9c3c347 100644
      --- a/src/btree/bt_vrfy.c
      +++ b/src/btree/bt_vrfy.c
      @@ -284,9 +284,9 @@ __verify_key_hs(WT_SESSION_IMPL *session, WT_ITEM *key, WT_VSTUFF *vs)
       
       err:
           __wt_scr_free(session, &hs_key);
      -    WT_RET(__wt_hs_cursor_close(session, &hs_cursor, session_flags));
      +    WT_TRET(__wt_hs_cursor_close(session, &hs_cursor, session_flags));
       
      -    return (0);
      +    return (ret);
       }
      
        test_bug005.test_bug005.test_bug005: started in WT_TEST/test_bug005.test_bug005.test_bug005.0
      test_bug005.test_bug005.test_bug005 (subunit.RemotedTestCase)
      test_bug005.test_bug005.test_bug005 ... ERROR
      test_bug005.test_bug005.test_bug005: 0.74 seconds
      ERROR in test_bug005.test_bug005.test_bug005
        test_bug005.test_bug005.test_bug005: TEST COMPLETED
      
      ======================================================================
      ERROR: test_bug005.test_bug005.test_bug005 (subunit.RemotedTestCase)
      test_bug005.test_bug005.test_bug005
      ----------------------------------------------------------------------
      _StringException: Traceback (most recent call last):
        File "/mnt/data0/sulabh/work/wt-durable/test/suite/test_bug005.py", line 50, in test_bug005
          self.session.verify(self.uri)
      WiredTigerError: No such file or directory
      
      
      ----------------------------------------------------------------------
      Ran 1 test in 0.742s
      
      $ cat WT_TEST/test_bug005.test_bug005.test_bug005.0/stderr.txt 
      [1580357728:640832][31086:0x7fbe27bc9740], test_bug005.test_bug005.test_bug005, file:test_bug005, WT_SESSION.verify: __verify_ckptfrag_chk, 526: checkpoint ranges never verified: 1
      [1580357728:640877][31086:0x7fbe27bc9740], test_bug005.test_bug005.test_bug005, file:test_bug005, WT_SESSION.verify: __verify_filefrag_chk, 438: file ranges never verified: 1
      

            Assignee:
            jeremy.tay@mongodb.com Jeremy Tay (Inactive)
            Reporter:
            sulabh.mahajan@mongodb.com Sulabh Mahajan
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: