You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-commits@hadoop.apache.org by bh...@apache.org on 2019/10/27 07:13:14 UTC

[hadoop-ozone] branch master updated: HDDS-2368. TestOzoneManagerDoubleBufferWithDummyResponse failing intermittently (#93)

This is an automated email from the ASF dual-hosted git repository.

bharat pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hadoop-ozone.git


The following commit(s) were added to refs/heads/master by this push:
     new 8541c56  HDDS-2368. TestOzoneManagerDoubleBufferWithDummyResponse failing intermittently (#93)
8541c56 is described below

commit 8541c5694efebb58f53cf4665d3e4e6e4a12845c
Author: Doroszlai, Attila <64...@users.noreply.github.com>
AuthorDate: Sun Oct 27 08:13:06 2019 +0100

    HDDS-2368. TestOzoneManagerDoubleBufferWithDummyResponse failing intermittently (#93)
---
 ...tOzoneManagerDoubleBufferWithDummyResponse.java | 69 ++++++++++------------
 1 file changed, 30 insertions(+), 39 deletions(-)

diff --git a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/ratis/TestOzoneManagerDoubleBufferWithDummyResponse.java b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/ratis/TestOzoneManagerDoubleBufferWithDummyResponse.java
index 56c806a..d8816d8 100644
--- a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/ratis/TestOzoneManagerDoubleBufferWithDummyResponse.java
+++ b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/ratis/TestOzoneManagerDoubleBufferWithDummyResponse.java
@@ -1,4 +1,4 @@
-/**
+/*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
@@ -23,7 +23,6 @@ import java.util.UUID;
 import java.util.concurrent.atomic.AtomicLong;
 
 import org.junit.After;
-import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
@@ -40,11 +39,13 @@ import org.apache.hadoop.ozone.om.OMMetadataManager;
 import org.apache.hadoop.ozone.om.OmMetadataManagerImpl;
 import org.apache.hadoop.ozone.om.helpers.OmBucketInfo;
 import org.apache.hadoop.ozone.om.response.OMClientResponse;
-import org.apache.hadoop.test.GenericTestUtils;
 import org.apache.hadoop.util.Time;
 import org.apache.hadoop.hdds.utils.db.BatchOperation;
 
 import static org.apache.hadoop.hdds.HddsConfigKeys.OZONE_METADATA_DIRS;
+import static org.apache.hadoop.test.GenericTestUtils.waitFor;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
 
 /**
  * This class tests OzoneManagerDoubleBuffer implementation with
@@ -54,11 +55,9 @@ public class TestOzoneManagerDoubleBufferWithDummyResponse {
 
   private OMMetadataManager omMetadataManager;
   private OzoneManagerDoubleBuffer doubleBuffer;
-  private AtomicLong trxId = new AtomicLong(0);
-  private OzoneManagerRatisSnapshot ozoneManagerRatisSnapshot;
+  private final AtomicLong trxId = new AtomicLong(0);
   private long lastAppliedIndex;
 
-
   @Rule
   public TemporaryFolder folder = new TemporaryFolder();
 
@@ -69,7 +68,7 @@ public class TestOzoneManagerDoubleBufferWithDummyResponse {
         folder.newFolder().getAbsolutePath());
     omMetadataManager =
         new OmMetadataManagerImpl(configuration);
-    ozoneManagerRatisSnapshot = index -> {
+    OzoneManagerRatisSnapshot ozoneManagerRatisSnapshot = index -> {
       lastAppliedIndex = index;
     };
     doubleBuffer = new OzoneManagerDoubleBuffer(omMetadataManager,
@@ -85,57 +84,49 @@ public class TestOzoneManagerDoubleBufferWithDummyResponse {
    * This tests add's 100 bucket creation responses to doubleBuffer, and
    * check OM DB bucket table has 100 entries or not. In addition checks
    * flushed transaction count is matching with expected count or not.
-   * @throws Exception
    */
   @Test(timeout = 300_000)
   public void testDoubleBufferWithDummyResponse() throws Exception {
     String volumeName = UUID.randomUUID().toString();
     int bucketCount = 100;
-    OzoneManagerDoubleBufferMetrics ozoneManagerDoubleBufferMetrics =
+    OzoneManagerDoubleBufferMetrics metrics =
         doubleBuffer.getOzoneManagerDoubleBufferMetrics();
 
     // As we have not flushed/added any transactions, all metrics should have
     // value zero.
-    Assert.assertTrue(ozoneManagerDoubleBufferMetrics
-        .getTotalNumOfFlushOperations() == 0);
-    Assert.assertTrue(ozoneManagerDoubleBufferMetrics
-        .getTotalNumOfFlushedTransactions() == 0);
-    Assert.assertTrue(ozoneManagerDoubleBufferMetrics
-        .getMaxNumberOfTransactionsFlushedInOneIteration() == 0);
+    assertEquals(0, metrics.getTotalNumOfFlushOperations());
+    assertEquals(0, metrics.getTotalNumOfFlushedTransactions());
+    assertEquals(0, metrics.getMaxNumberOfTransactionsFlushedInOneIteration());
 
     for (int i=0; i < bucketCount; i++) {
-      doubleBuffer.add(createDummyBucketResponse(volumeName,
-          UUID.randomUUID().toString()), trxId.incrementAndGet());
+      doubleBuffer.add(createDummyBucketResponse(volumeName),
+          trxId.incrementAndGet());
     }
-    GenericTestUtils.waitFor(() ->
-            doubleBuffer.getFlushedTransactionCount() == bucketCount, 100,
-        60000);
-
-    Assert.assertTrue(ozoneManagerDoubleBufferMetrics
-        .getTotalNumOfFlushOperations() > 0);
-    Assert.assertTrue(ozoneManagerDoubleBufferMetrics
-        .getTotalNumOfFlushedTransactions() == bucketCount);
-    Assert.assertTrue(ozoneManagerDoubleBufferMetrics
-        .getMaxNumberOfTransactionsFlushedInOneIteration() > 0);
-    Assert.assertTrue(omMetadataManager.countRowsInTable(
-        omMetadataManager.getBucketTable()) == (bucketCount));
-    Assert.assertTrue(doubleBuffer.getFlushIterations() > 0);
+    waitFor(() -> metrics.getTotalNumOfFlushedTransactions() == bucketCount,
+        100, 60000);
+
+    assertTrue(metrics.getTotalNumOfFlushOperations() > 0);
+    assertEquals(bucketCount, doubleBuffer.getFlushedTransactionCount());
+    assertTrue(metrics.getMaxNumberOfTransactionsFlushedInOneIteration() > 0);
+    assertEquals(bucketCount, omMetadataManager.countRowsInTable(
+        omMetadataManager.getBucketTable()));
+    assertTrue(doubleBuffer.getFlushIterations() > 0);
 
     // Check lastAppliedIndex is updated correctly or not.
-    Assert.assertEquals(bucketCount, lastAppliedIndex);
+    assertEquals(bucketCount, lastAppliedIndex);
   }
 
   /**
    * Create DummyBucketCreate response.
-   * @param volumeName
-   * @param bucketName
-   * @return OMDummyCreateBucketResponse
    */
   private OMDummyCreateBucketResponse createDummyBucketResponse(
-      String volumeName, String bucketName) {
+      String volumeName) {
     OmBucketInfo omBucketInfo =
-        OmBucketInfo.newBuilder().setVolumeName(volumeName)
-            .setBucketName(bucketName).setCreationTime(Time.now()).build();
+        OmBucketInfo.newBuilder()
+            .setVolumeName(volumeName)
+            .setBucketName(UUID.randomUUID().toString())
+            .setCreationTime(Time.now())
+            .build();
     return new OMDummyCreateBucketResponse(omBucketInfo,
         OMResponse.newBuilder()
             .setCmdType(OzoneManagerProtocolProtos.Type.CreateBucket)
@@ -148,10 +139,10 @@ public class TestOzoneManagerDoubleBufferWithDummyResponse {
   /**
    * DummyCreatedBucket Response class used in testing.
    */
-  public static class OMDummyCreateBucketResponse extends OMClientResponse {
+  private static class OMDummyCreateBucketResponse extends OMClientResponse {
     private final OmBucketInfo omBucketInfo;
 
-    public OMDummyCreateBucketResponse(OmBucketInfo omBucketInfo,
+    OMDummyCreateBucketResponse(OmBucketInfo omBucketInfo,
         OMResponse omResponse) {
       super(omResponse);
       this.omBucketInfo = omBucketInfo;


---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-commits-help@hadoop.apache.org