-
Notifications
You must be signed in to change notification settings - Fork 3
test: run protocols with one offline node #538
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’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Conversation
|
@ChaoticTempest Can you please have a look at this PR? I've been working on these tests for a while, which should show that we can handle at least one node going offline without the entire system collapsing. Somehow, it keeps on failing even with just one node not responding. I think we never get any posit rounds through and therefore never start any generators. I'm also building up better debugging tools in parallel. Those show me that while running At first, testing with 3 nodes and threshold 2, I thought it's because nodes don't count themselves as "accept", so But now I've generated fixture inputs for 7 nodes with threshold 4 and it still fails to generate triples or presignatures. Do you have an idea what could be going wrong? |
|
Oh I guess it's because we always for all participants to accept or reject. But an offline node wouldn't do either. (Was that changed lately? I think when I started working on it, we started as soon as we had enough accepts.) Anyway, @ChaoticTempest , do you think we can change this behaviour? Requiring all nodes to always respond makes the system rather frail. |
|
there's a manual call we need to make to either expire or start if enough has been met after a timeout |
4e585b6 to
8fdb34b
Compare
|
Quick update: I've rebased this and the test is still failing. I will see if I can get it to work next week. Curious: While updating to the format of triples, it generated 2 conflicting in triples. Two instances, where the exact same triple share was twice in the same output. I'll need to look more into that, I don't think this should happen. |
Ensure in tests that we are able to generate triples and presignatures, even when one node is offline. This also adds a fixture input for 7 nodes and threshold 4.
The triples format has changed to using triple pairs.
Of course, the offline node will never have enough T or P.
8fdb34b to
e7048b6
Compare
|
I've debugged this a bit further, still not sure what is going on.
Triple generation does work in general, though. Just not consistently. Looking at the debug page, I see that T on every node (except the offline node) does increase in many runs. Although, usually it only goes to T=3, 4, or 5. It needs to be at least 6 for the test to succeed (one triple per online node). I've tried changing the expiration timer to be 1.5 times longer for deliberators, so they haven' expired yet when the proposer starts the protocol. That resulted in a lot of warnings that I couldn't quite pin down yet why they would happen. Warnings:
|


Ensure in tests that we are able to generate triples and presignatures, even when one node is offline.
This also adds a fixture input for 7 nodes and threshold 4.