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

Create a general approach to handle WT_ROLLBACK errors in Python test suite

    XMLWordPrintableJSON

Details

    Description

      In WT-8991, we are fixing test cases that fail due to WT_ROLLBACK. But the issue is potentially more broad than just those few test cases. As of WT-8869, any readonly transactions can now be rolled back, and of course read/write transactions have always had that possibility. WT handles retries of single operations that are not within a transaction, but explicit transactions are used pretty widely in the test suite, so this can come up.  The recommended approach for a production program is to rollback/retry any failing transactions.  Whether that's the right thing for short test cases is part of what we are discussing here.

      Since the problem might require fiddling a bit with a large number of tests, it would be good to discuss the proper approach. There are 183 python test files that use begin_transaction. Of those, 36 files set the cache size to 50M, and these are especially vulnerable to rollback errors.

      Attachments

        Issue Links

          Activity

            People

              donald.anderson@mongodb.com Donald Anderson
              donald.anderson@mongodb.com Donald Anderson
              Votes:
              0 Vote for this issue
              Watchers:
              9 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: