Details
-
Sub-task
-
Status: Resolved
-
Major
-
Resolution: Implemented
-
None
Description
This Jira implemented the reconstruction coordinator logic.
ECReconstruction coordinator re-uses the ECReconstructedStripedInputStream, ECBlockOutputStream and ContainerProcolCalls for reconstruction of a container.
Steps are a follows:
For a container reconstruction task, the main flow is:
- ListBlock from all healthy replicas
- calculate effective block group len for all blocks
- create RECOVERING containers in TargetDNs
- for each block
- build a ECReconstructedStripedInputStream to read healthy chunks
- build a ECBlockOutputStream to write out decoded chunks
- for each stripe
- use ECReconstructedStripedInputStream.recoverChunks to decode chunks
- use ECBlockOutputStream.write to write decoded chunks to TargetDNs
- PutBlock
- Close RECOVERING containers in TargetDNs