fapifta commented on a change in pull request #2702:
URL: https://github.com/apache/ozone/pull/2702#discussion_r722005530
##########
File path:
hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestECKeyOutputStream.java
##########
@@ -199,64 +191,6 @@ public void testCreateRatisKeyAndWithECBucketDefaults()
throws Exception {
}
}
-
Review comment:
This test is not feasible in the new code structure.
This test reaches out to ECBlockOutputStreams that were handling a single
BlockOutputStreams earlier, and based on their Pipeline information it acquires
a client from their XCeiverClientFactory, then checks if the acquired clients
are distinct clients and none of them is equal to each other.
In the new code sturcture, the ECBlockOutputStreamEntry knows about the full
EC Pipeline, and manages the data and parity streams together. Individual
pipelines and streams are hidden outside.
The two new tests in the new ECBlockOutputStreamEntryTest class is entitled
to test for the same, those tests are there to ensure that the Pipelines that
are created by the ECBlockOutputStreamEntry#createSingleECBlockPipeline method
are distinct in case the DataNodeDetails defines the same host but different
port for EC replication, and I also added a test that ensures that if the port
is also the same, then we reuse the client (the second test).
I believe this was important for tests where we need to ensure the tests
work in a MiniCluster as well, where the DataNodeDetails differ in just the
DataNode port, while in the Ratis replication case it was not really important
as we do not differentiate blocks there while in EC we need to know the order
of data blocks and parity, and we also need to communicate with all nodes and
we can not share a client between them properly.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]