Follow-up from "move RepairThreshold to renter package and fix related off-by-one errors"
In this MR, I changed a few tests from having 1 data host to having 2 data hosts (and reducing parity hosts from 4 to 3). I think it's okay for more of our tests to have 2 data hosts instead of one for some our tests, it means the different redundancy types get more coverage.
The core reason I changed it though was because initially I had a different design for the MR (files with health equal to the repair threshold were considered healthy) and this broke some of the tests, since the test used redundancies that allowed for a partial repair to complete, and then the file would get to partial health but not full health (health == 0.25), so the test would fail.
This is an issue with the test and I implemented a lazy fix - reduce the redundancy of the test so that even 1 missing host would mean a health >0.25. But the proper way to fix the test would be to have the test check for a health that is better than RepairThreshold, so that even as we adjust our redundancies and repair thresholds, the tests keep passing.
The following discussion from !3722 (merged) should be addressed:
-
@MSevey started a discussion: What is the reasoning behind changing this from 1 to 2?