-
Type:
Bug
-
Resolution: Fixed
-
Priority:
Major - P3
-
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, SE Foundations - 2025-10-10
-
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.
- is duplicated by
-
WT-15593 Reverse cursor loops around on disagg standby
-
- Closed
-
- is related to
-
WT-15381 Introduce lite-ASAN build Disagg Variant and test/checkpoint
-
- Closed
-
-
WT-15569 Delta page checksum validation error
-
- Closed
-
-
WT-15451 Print mismatch page IDs for discard verify
-
- Closed
-
-
WT-15525 test_timestamp_abort failed waited 121 seconds for checkpoint file creation
-
- Closed
-
-
WT-15587 Document external API access to WT internals in the arch guide
-
- Closed
-
- related to
-
WT-15418 Fix disagg python test_cursor17
-
- Open
-
-
WT-15369 disagg: Fix layered python tests cursor13, cursor21 that fail stats check
-
- Backlog
-
-
WT-15262 Disagg python testing: broad triage of apparent stability issues
-
- Closed
-
-
WT-10858 Don't report errors from __verify_filefrag_chk if verify ends early due to other errors
-
- Closed
-