-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Chain Stopped Producing Blocks when Validator was Removed #1728
Comments
@rodion-lim-partior I also tried first stopping the new validator node (making sure they are not the block proposer of this round) and then removing them from the smart contract. This did not stop the chain and worked as expected. But in a real-world scenario, we should just be able to remove a validator from the smart contract as long as we have >=4 validators the chain should continue to produce blocks. What am I missing here? |
On a new quorum chain, I added a new validator to the smart contract and started the node called
this is in spite of the fact that To resolve this: I had to delete the chaindata and lightchaindata and resync the node from genesis. |
Experiment 3: Added a validator to the validator set (smart contract). Then let is propose a few blocks. Removed the validator from the smart contract when I was sure My question is, how do we handle adding/removing a validator using a smart contract regardless if they are the next block proposer/current block proposer? Since a validator for eg can join the network by staking X amount, and leave the network by unstaking X amount. But if they unstake and they are the block proposer, the entire chain halts and does not produce any more blocks. @rodion-lim-partior any insights here? |
System information
Geth version:
v1.10.3
Quorum version:
v24.4.1
OS & Version: Linux
Expected behaviour
I used a simple contract that adds and removes validators from a list. The quorum chain uses this contract to
getValidators()
.I added a new validator to the chain successfully ie, now the chain has 6 Validators (of a minimum requirement of 4). When I removed the recently added validator from the contract the chain should continue to produce blocks as long as the minimum number of validators are running and proposing blocks.
Actual behaviour
After removing the validator, ie, 5 active validators on the chain. The chain stopped producing blocks completely and cannot recover even though I have 5 validators running.
Attaching logs of errors and warnings that are shown in the node logs.
and finally
The validator that was removed was validator
0x8522537600244d9d45C39947191a1Eec1fB19A70
which was the one that was to propose the current block/proposed last block. I am not sure how to handle this when relying on smart contracts for validator selection.Steps to reproduce the behaviour
Use a smart contract to add/remove validators. Add a new validator and after it produces some blocks remove the validator.
The text was updated successfully, but these errors were encountered: