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:
|
if not self.root_state.db.contain_minor_block_by_hash( |
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.
When the cluster shuts down (either gracefully or ungracefully), it is likely to enter a cluster inconsistent state, e.g.,
Example code here:
pyquarkchain/quarkchain/cluster/master.py
Line 1133 in af1dd06
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.