Conversation
|
@ChaoticTempest This is what I mentioned in today's meeting. I just saw a test (test_sign_contention_5_nodes) failed, I will need to look into that. |
|
Unfortunately tests are non-deterministic.
locally, I got I probably won't have time to dig deeper today. But we shouldn't merge this while the issue remains. |
617981c to
e842b81
Compare
For presignature and triple generation, the proposer and deliberator roles time out at the same time. The proposer tries to move forward on a timeout, if the threshold has been met. But a deliberator will simply abort. This leads to bad timing and non-determinism if even just a single node is not responding. Increasing the deliberator timeout resolves the problem.
Waiting for double the time makes it difficult for rounds other than the first round to get a posit through.
e842b81 to
365b9c4
Compare
|
I had to change the delay for deliberator expiration to make this work reliably. In my initial fix, I used 2x the proposer timeout for deliberators. This makes it much more likely that round 1 of posits gets accepted. But I didn't consider that for round two, this creates another (perfectly) bad timing. 2x is pretty much the worst choice for the delay. Thus, resulting in the non-deterministic test failures I had. Now I use a fixed 2s extra for deliberators to expire. That should be enough to receive the proposer START message in time. Combined with a proposer expiration of 10s, also leaves enough time for the next round to conclude. |
|
@ppca cases::mpc::test_sign_contention_5_nodes is still failing, often, so the issue is relevant |
For presignature and triple generation, the proposer and deliberator roles time out at the same time.
The proposer tries to move forward on a timeout, if the threshold has been met. But a deliberator will simply abort. This leads to bad timing and non-determinism if even just a single node is not responding.
Increasing the deliberator timeout resolves the problem.
This also increases the frequency for checking the expiration, to speed up the process.