Ethan Rose created HDDS-12988:
---------------------------------

             Summary: Expand reconciliation unit test framework
                 Key: HDDS-12988
                 URL: https://issues.apache.org/jira/browse/HDDS-12988
             Project: Apache Ozone
          Issue Type: Sub-task
            Reporter: Ethan Rose


HDDS-12980 added a unit test framework for reconciliation using a mocked 
datanode client. We can expand this framework to test even more cases:
* Mock network exceptions in the client to test unreachable peers
** Make sure errors retrieving the tree or chunks with one peer do not affect 
reconciling with other peers.
* Use the mock client to corrupt data "in-flight" and test that it is not 
ingested due to read checksum failure, even if the peer's tree reported it as 
healthy.
* Add tests for deleted block handling to this suite. We currently have unit 
tests for this in other places as well.
* Add tests where all blocks in the replicas are identical, and various 
replicas are missing the same number of different blocks.
** Merkle tree hash needs to include the block ID to account for this, since it 
will not cause a divergence in the hash if only data is used.
* Test when multiple rounds of reconciliation are required due to holes.
** Currently we cannot repair around holes in a container, so depending on the 
order peers are reconciled, some replicas may require another round before all 
replicas are matching



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@ozone.apache.org
For additional commands, e-mail: issues-h...@ozone.apache.org

Reply via email to