You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The server side of the DKG sync protocol only response with an error if the client sends a mismatching cluster definition hash. It doesn't actually fail fast and error and exit the DKG. Only the client fails and exits the DKG when it receives a error response from a server.
Note that this is actually a race condition:
Lets say we have 2 nodes, X and Y.
X and Y both have sync clients and servers.
Both X and Y will fail and exit if their clients connect to the other server and receive a error response.
But if X's client connects (and then exits) before Y's, then Y's client will never be able to connect and will hang.
So this ticket is a workaround for X failing so fast, that Y can never connect and fail as well.
Proposed solution
Add a shared errResponse bool field to the sync.Server. If any pb.SyncResponse.Error is set, this field should be set to true. Upon call to AwaitAllConnected, return an error if errResponse==true.
The text was updated successfully, but these errors were encountered:
Problem to be solved
The server side of the DKG sync protocol only response with an error if the client sends a mismatching cluster definition hash. It doesn't actually fail fast and error and exit the DKG. Only the client fails and exits the DKG when it receives a error response from a server.
Note that this is actually a race condition:
Proposed solution
Add a shared
errResponse bool
field to thesync.Server
. If anypb.SyncResponse.Error
is set, this field should be set totrue
. Upon call toAwaitAllConnected
, return an error iferrResponse==true
.The text was updated successfully, but these errors were encountered: