This is an automated email from the ASF dual-hosted git repository.
adoroszlai pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ozone.git
The following commit(s) were added to refs/heads/master by this push:
new 546c390004 HDDS-9713. Replace Thread.sleep in TestPipelineClose.
(#5629)
546c390004 is described below
commit 546c39000455db2e0ed493bf88ef8f2d2ecd5ecc
Author: Nandakumar Vadivelu <[email protected]>
AuthorDate: Tue Nov 21 15:53:53 2023 +0530
HDDS-9713. Replace Thread.sleep in TestPipelineClose. (#5629)
---
.../hdds/scm/pipeline/TestPipelineClose.java | 61 ++++++++++++----------
1 file changed, 33 insertions(+), 28 deletions(-)
diff --git
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestPipelineClose.java
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestPipelineClose.java
index 5e7b2df26b..bc312719cf 100644
---
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestPipelineClose.java
+++
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestPipelineClose.java
@@ -60,6 +60,8 @@ import java.util.UUID;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+
/**
* Tests for Pipeline Closing.
*/
@@ -165,36 +167,39 @@ public class TestPipelineClose {
@Test
public void testPipelineCloseWithPipelineAction() throws Exception {
- List<DatanodeDetails> dns = ratisContainer.getPipeline().getNodes();
- PipelineActionsFromDatanode
- pipelineActionsFromDatanode = HddsTestUtils
- .getPipelineActionFromDatanode(dns.get(0),
- ratisContainer.getPipeline().getId());
+ final List<DatanodeDetails> dns = ratisContainer.getPipeline().getNodes();
+ final PipelineID pipelineID = ratisContainer.getPipeline().getId();
+
+ final PipelineActionsFromDatanode pipelineActionsFromDatanode =
+ HddsTestUtils.getPipelineActionFromDatanode(dns.get(0), pipelineID);
+
// send closing action for pipeline
- PipelineActionHandler pipelineActionHandler =
- new PipelineActionHandler(
- pipelineManager, SCMContext.emptyContext(), conf);
- pipelineActionHandler
- .onMessage(pipelineActionsFromDatanode, new EventQueue());
- Thread.sleep(5000);
-
- OzoneContainer ozoneContainer =
- cluster.getHddsDatanodes().get(0).getDatanodeStateMachine()
- .getContainer();
- List<PipelineReport> pipelineReports =
- ozoneContainer.getPipelineReport().getPipelineReportList();
- for (PipelineReport pipelineReport : pipelineReports) {
- // ensure the pipeline is not reported by any dn
- Assert.assertNotEquals(
- PipelineID.getFromProtobuf(pipelineReport.getPipelineID()),
- ratisContainer.getPipeline().getId());
- }
+ final PipelineActionHandler pipelineActionHandler =
+ new PipelineActionHandler(pipelineManager,
+ SCMContext.emptyContext(), conf);
- try {
- pipelineManager.getPipeline(ratisContainer.getPipeline().getId());
- Assert.fail("Pipeline should not exist in SCM");
- } catch (PipelineNotFoundException e) {
- }
+ pipelineActionHandler.onMessage(
+ pipelineActionsFromDatanode, new EventQueue());
+
+ final OzoneContainer ozoneContainer = cluster.getHddsDatanodes()
+ .get(0).getDatanodeStateMachine().getContainer();
+ final HddsProtos.PipelineID pid = pipelineID.getProtobuf();
+
+ // ensure the pipeline is not reported by the dn
+ GenericTestUtils.waitFor(() -> {
+ final List<PipelineReport> pipelineReports = ozoneContainer
+ .getPipelineReport().getPipelineReportList();
+ for (PipelineReport pipelineReport : pipelineReports) {
+ if (pipelineReport.getPipelineID().equals(pid)) {
+ return false;
+ }
+ }
+ return true;
+ }, 500, 5000);
+
+ assertThrows(PipelineNotFoundException.class, () ->
+ pipelineManager.getPipeline(pipelineID),
+ "Pipeline should not exist in SCM");
}
@Test
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]