fix: make incr backup py test a bit more reliable#35322
fix: make incr backup py test a bit more reliable#35322Enjection wants to merge 1 commit intoydb-platform:mainfrom
Conversation
…on ID Replace global restore operation counting (poll_restore_by_count) with operation ID-based polling (poll_restore_by_id). The old approach counted ALL restore operations via 'ydb operation list restore' and detected completion by count deltas, which was racy — a late status update from a prior restore could cause a false positive, making the test think the current restore completed before it actually did. Now we capture baseline operation IDs before RESTORE, diff after to find the new operation, and poll it specifically with 'ydb operation get'. Also add a settling delay after _test_incremental_only_restore_failure to let its failed operation finalize before the next test starts.
|
⚪
🟢 |
|
⚪
🟢 |
|
🔴 Only one category can be selected at a time. |
| success_count += 1 | ||
| ids = set() | ||
| for line in output.splitlines(): | ||
| if "│" not in line or line.strip().startswith(("┌", "├", "└", "┬", "┴", "┼")): |
There was a problem hiding this comment.
эээ. Почему бы не обработать вывод утилиты в json?
Replace global restore operation counting (poll_restore_by_count) with
operation ID-based polling (poll_restore_by_id). The old approach counted
ALL restore operations via 'ydb operation list restore' and detected
completion by count deltas, which was racy — a late status update from a
prior restore could cause a false positive, making the test think the
current restore completed before it actually did.
Now we capture baseline operation IDs before RESTORE, diff after to find
the new operation, and poll it specifically with 'ydb operation get'.
Also add a settling delay after _test_incremental_only_restore_failure
to let its failed operation finalize before the next test starts.
Changelog entry
...
Changelog category
Description for reviewers
...