-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Disagg CI-blocker, Test Python
-
Storage Engines, Storage Engines - Foundations
-
SE Foundations - 2025-09-12, SE Foundations - 2025-09-26
-
5
test_cursor02 is a simple test, appears to fail on backward iteration. Two test functions fail:
$ python ../test/suite/run.py -v 2 --hook disagg test_cursor02.test_cursor02.test_iterate_one_added -s 0 ... ====================================================================== [pid:7045]: FAIL: Test iterating a table that contains one newly added entry (row) ---------------------------------------------------------------------- [pid:7045]: Traceback (most recent call last): File "/home/dda/wt/git/wt-15262-python-tests-stability-triage/test/suite/wttest.py", line 243, in _callTestMethod method() File "/home/dda/wt/git/wt-15262-python-tests-stability-triage/test/suite/test_cursor02.py", line 146, in test_iterate_one_added self.cur_check_backward(cursor, -1) File "/home/dda/wt/git/wt-15262-python-tests-stability-triage/test/suite/test_cursor_tracker.py", line 395, in cur_check_backward self.cur_previous(cursor) File "/home/dda/wt/git/wt-15262-python-tests-stability-triage/test/suite/test_cursor_tracker.py", line 410, in cur_previous self.check_cursor_ret(cursor.prev(), wantret) File "/home/dda/wt/git/wt-15262-python-tests-stability-triage/test/suite/test_cursor_tracker.py", line 369, in check_cursor_ret self.fail('cursor returns NOTFOUND unexpectedly') AssertionError: cursor returns NOTFOUND unexpectedly $ python ../test/suite/run.py -v 2 --hook disagg test_cursor02.test_cursor02.test_iterate_one_preexisting -s 0 .... ====================================================================== [pid:7088]: FAIL: Test iterating a table that contains one preexisting entry (row) ---------------------------------------------------------------------- [pid:7088]: Traceback (most recent call last): File "/home/dda/wt/git/wt-15262-python-tests-stability-triage/test/suite/wttest.py", line 243, in _callTestMethod method() File "/home/dda/wt/git/wt-15262-python-tests-stability-triage/test/suite/test_cursor02.py", line 132, in test_iterate_one_preexisting self.cur_check_backward(cursor, -1) File "/home/dda/wt/git/wt-15262-python-tests-stability-triage/test/suite/test_cursor_tracker.py", line 395, in cur_check_backward self.cur_previous(cursor) File "/home/dda/wt/git/wt-15262-python-tests-stability-triage/test/suite/test_cursor_tracker.py", line 410, in cur_previous self.check_cursor_ret(cursor.prev(), wantret) File "/home/dda/wt/git/wt-15262-python-tests-stability-triage/test/suite/test_cursor_tracker.py", line 369, in check_cursor_ret self.fail('cursor returns NOTFOUND unexpectedly') AssertionError: cursor returns NOTFOUND unexpectedly
Another test seems related to backward iteration, and should be fixed in the same ticket:
python3 ../test/suite/run.py --hook disagg -v 2 test_cursor05 -s 3 [pid:49659]: None ... [pid:49659]: test_cursor05.test_cursor05.test_cursor -s 3 (row.nonempty.no_colgroups): starting [pid:49659]: Replacing, old uri = "table:main" [pid:49659]: Replacing, new uri = "layered:main" [pid:49659]: test_cursor05.test_cursor05.test_cursor -s 3 (row.nonempty.no_colgroups): 1.06 seconds [pid:49659]: ERROR in test_cursor05.test_cursor05.test_cursor -s 3 (row.nonempty.no_colgroups) FAIL ====================================================================== [pid:49659]: FAIL: None ---------------------------------------------------------------------- [pid:49659]: Traceback (most recent call last): File "/home/dda/wt/git/wt-15262-python-tests-stability-triage/test/suite/wttest.py", line 243, in _callTestMethod method() File "/home/dda/wt/git/wt-15262-python-tests-stability-triage/test/suite/test_cursor05.py", line 218, in test_cursor self.check_entries(2, nentries, True) File "/home/dda/wt/git/wt-15262-python-tests-stability-triage/test/suite/test_cursor05.py", line 183, in check_entries self.check_iterate(cursor, expectcount, isforward) File "/home/dda/wt/git/wt-15262-python-tests-stability-triage/test/suite/test_cursor05.py", line 121, in check_iterate self.check_iterate_forward(cursor, expectcount) File "/home/dda/wt/git/wt-15262-python-tests-stability-triage/test/suite/test_cursor05.py", line 94, in check_iterate_forward self.assertEqual(i, expectcount) AssertionError: 0 != 3 ---------------------------------------------------------------------- Ran 1 test in 1.056s FAILED (failures=1)
In fact it fails on 4 "subtests" in the test_cursor function:
self.check_entries(0, nentries, True) self.check_entries(1, nentries, True) self.check_entries(2, nentries, True) # FAIL self.check_entries(0, nentries, False) # FAIL self.check_entries(1, nentries, False) # FAIL self.check_entries(2, nentries, False) # FAIL
The four noted lines, if commented out, allow the test to run, if any are uncommented they fail. It seems to be that a simple case of "open_cursor, next, prev" works, but anything more elaborate "open_cursor, prev, next" does not.