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

Handle "oldest pinned transaction ID rolled back for eviction" messages in tests



    • Type: Bug
    • Status: Open
    • Priority: Major - P3
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: Backlog
    • Component/s: None
    • Labels:


      In trying to replicate a failure, I ran test_rollback_to_stable10.py thousands of times.  In one instance I got a test failure because this message was unexpected on stdout: "oldest pinned transaction ID rolled back for eviction". There's a way to ignore messages that might occur in a test as a result of some API operations:

              with self.expectedStdoutPattern('(^$|message that might occur)'):
                  if maybe:   # or whatever API operations might create the output
                     print 'message that might occur'

      However, given some initial conditions of creating memory pressure and some pinned transactions, it looks like this message might then happen at any time, as eviction activity will be asynchronous to the operations of the test.

      So if it looks like we need to wrap large portions of the entire test in a clause that effectively ignores any output that looks like "oldest pinned...", and that feels wrong. There are other tests where this could happen - really any test with longish transactions and smallish caches. But how longish and smallish?

      One possibility would be to make this a message turned on by a verbose setting, and/or having a particular statistic bumped. Another possibility is have an easy way to tag tests that might produce this output, and ignore it when output is checked. Or do we always ignore just this string?

      Other output generated by the API either happens predictably (a complaint about incompatible arguments used in an API) or when unpredictable, it is truly an error that must be flagged.




            backlog-server-storage-engines Backlog - Storage Engines Team
            donald.anderson Donald Anderson
            0 Vote for this issue
            3 Start watching this issue