New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.
Already on GitHub? Sign in to your account
test_repair.sh needs to support new async upstairs #466
Comments
I'm seeing the same thing from a stock workspace on main. Looking into this test now and trying to determine if it is broken, or if the new async stuff did something. |
It's almost certainly the use of |
Yeah, after the repair is done it will be all green. It's just the wrong green. |
Yeah, if the work is not actually submitted to the upstairs side when
Then this test will not give us valid results. I can see that the flush does not happen when the test expects it to, so, this test will need a re-write. The old behavior submitted a job (meaning it's order was in) even if you did not block_wait on that job. |
So, with the new async behavior. we should
The idea/goal for the test_repair.sh test is to have a bunch of IO going to the downstairs, and to interrupt things and then verify that a repair will "fix" whatever does not match between the downstairs. Because during good times the three downstairs all work at the same speed, it's hard to produce a case where they actually have different data. To help us create an out of date downstairs, we can start one of the three downstairs with "--lossy" which will reduce the rate at which it completes IO, which will help us create the scenario we are looking to test. Here is the rough high level test flow. The test starts with all downstairs up and does an initial fill to all blocks.
The key here is to know at what order the jobs were completed in, and to use that completion order to determine:
I think the only way crutest can do this, without a refactor of the IO logging, is if it waits on the ack from each IO before issuing the next. It still might produce the outcome we desire as lossy is pretty slow. |
Proposed fix |
fixed with #467 |
locally from
test_repair.sh
, 馃憥Originally posted by @jmpesp in #464 (comment)
The text was updated successfully, but these errors were encountered: