pyquarkchain
pyquarkchain copied to clipboard
need recovery mechanism to solve a shard block that is processed at shard but not processed at root
When the cluster shuts down (either gracefully or ungracefully), it is likely to enter a cluster inconsistent state, e.g.,
- a shard block is processed, and then the cluster is shut down before the root state has processed the shard block, which means that the root block may never include the shard block later. Example code here: https://github.com/QuarkChain/pyquarkchain/blob/af1dd06a50d918aaf45569d9b0f54f5ecceb6afe/quarkchain/cluster/master.py#L1133
A solution of this may ask the shard to response the shard block to the master so that the master can process the shard block again.