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