diff options
author | Wei-Ning Huang <w@byzantine-lab.io> | 2019-08-04 13:39:30 +0800 |
---|---|---|
committer | Wei-Ning Huang <w@byzantine-lab.io> | 2019-09-17 16:57:31 +0800 |
commit | 5e30a1686f8a049c27d10d21cca1b7b5aee18f70 (patch) | |
tree | 8d687af451cd3f86b865e92814f3e5fd9a65541b /containers | |
parent | 174f6bfcdf4e2c7fea3a071653908b477ad9a3b3 (diff) | |
download | go-tangerine-5e30a1686f8a049c27d10d21cca1b7b5aee18f70.tar go-tangerine-5e30a1686f8a049c27d10d21cca1b7b5aee18f70.tar.gz go-tangerine-5e30a1686f8a049c27d10d21cca1b7b5aee18f70.tar.bz2 go-tangerine-5e30a1686f8a049c27d10d21cca1b7b5aee18f70.tar.lz go-tangerine-5e30a1686f8a049c27d10d21cca1b7b5aee18f70.tar.xz go-tangerine-5e30a1686f8a049c27d10d21cca1b7b5aee18f70.tar.zst go-tangerine-5e30a1686f8a049c27d10d21cca1b7b5aee18f70.zip |
core: consider reset round when getting config state
Previous config snapshot is determined as follows, for round n:
Return the snapshot state of round (n - ConfigRoundShift)
However this may cause the system to stuck at a particular round if the
DKG for the next round continues to fail (maybe due to node failure).
To fix this, instead of using the simple logic above, we consider the
reset rounds as a normal round, and use the snapshot of the reset rounds
as config. Thus we could gradually push out the broken nodes from
nodeset. The snapshot is now determined as follows, for round n:
If resetCount < ConfigRoundShift
Return the snapshot state of round (n - ConfigRoundShift)
Else
Reutrn the stateshot state of (n + resetCount - ConfigRoundShift)
Diffstat (limited to 'containers')
0 files changed, 0 insertions, 0 deletions