You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ozone.apache.org by sa...@apache.org on 2020/07/22 13:00:20 UTC
[hadoop-ozone] 10/39: HDDS-3957. Fix mixed use of Longs.toByteArray
and Ints.fromByteArray (#1199)
This is an automated email from the ASF dual-hosted git repository.
sammichen pushed a commit to branch ozone-0.6.0
in repository https://gitbox.apache.org/repos/asf/hadoop-ozone.git
commit b3139e80b3d8565100ca6c88357b8e4010e89776
Author: runzhiwang <51...@users.noreply.github.com>
AuthorDate: Wed Jul 15 00:20:16 2020 +0800
HDDS-3957. Fix mixed use of Longs.toByteArray and Ints.fromByteArray (#1199)
(cherry picked from commit 6d979e49190a48fc1c43edc0ff2b410eae09381d)
---
.../impl/TopNOrderedContainerDeletionChoosingPolicy.java | 2 +-
.../ozone/container/keyvalue/KeyValueContainerData.java | 14 +++++++-------
.../container/keyvalue/helpers/KeyValueContainerUtil.java | 3 +--
.../ozone/container/common/TestBlockDeletingService.java | 7 ++++---
4 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/impl/TopNOrderedContainerDeletionChoosingPolicy.java b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/impl/TopNOrderedContainerDeletionChoosingPolicy.java
index 41fc267..2cee75c 100644
--- a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/impl/TopNOrderedContainerDeletionChoosingPolicy.java
+++ b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/impl/TopNOrderedContainerDeletionChoosingPolicy.java
@@ -45,7 +45,7 @@ public class TopNOrderedContainerDeletionChoosingPolicy
private static final Comparator<KeyValueContainerData>
KEY_VALUE_CONTAINER_DATA_COMPARATOR = (KeyValueContainerData c1,
KeyValueContainerData c2) ->
- Integer.compare(c2.getNumPendingDeletionBlocks(),
+ Long.compare(c2.getNumPendingDeletionBlocks(),
c1.getNumPendingDeletionBlocks());
@Override
diff --git a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/keyvalue/KeyValueContainerData.java b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/keyvalue/KeyValueContainerData.java
index 5698d72..68f01fb 100644
--- a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/keyvalue/KeyValueContainerData.java
+++ b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/keyvalue/KeyValueContainerData.java
@@ -38,7 +38,7 @@ import org.yaml.snakeyaml.nodes.Tag;
import java.io.File;
import java.util.List;
import java.util.Map;
-import java.util.concurrent.atomic.AtomicInteger;
+import java.util.concurrent.atomic.AtomicLong;
import static java.lang.Math.max;
import static org.apache.hadoop.ozone.OzoneConsts.CONTAINER_DB_TYPE_ROCKSDB;
@@ -73,7 +73,7 @@ public class KeyValueContainerData extends ContainerData {
/**
* Number of pending deletion blocks in KeyValueContainer.
*/
- private final AtomicInteger numPendingDeletionBlocks;
+ private final AtomicLong numPendingDeletionBlocks;
private long deleteTransactionId;
@@ -98,7 +98,7 @@ public class KeyValueContainerData extends ContainerData {
long size, String originPipelineId, String originNodeId) {
super(ContainerProtos.ContainerType.KeyValueContainer, id, layOutVersion,
size, originPipelineId, originNodeId);
- this.numPendingDeletionBlocks = new AtomicInteger(0);
+ this.numPendingDeletionBlocks = new AtomicLong(0);
this.deleteTransactionId = 0;
}
@@ -106,7 +106,7 @@ public class KeyValueContainerData extends ContainerData {
super(source);
Preconditions.checkArgument(source.getContainerType()
== ContainerProtos.ContainerType.KeyValueContainer);
- this.numPendingDeletionBlocks = new AtomicInteger(0);
+ this.numPendingDeletionBlocks = new AtomicLong(0);
this.deleteTransactionId = 0;
}
@@ -188,7 +188,7 @@ public class KeyValueContainerData extends ContainerData {
*
* @param numBlocks increment number
*/
- public void incrPendingDeletionBlocks(int numBlocks) {
+ public void incrPendingDeletionBlocks(long numBlocks) {
this.numPendingDeletionBlocks.addAndGet(numBlocks);
}
@@ -197,14 +197,14 @@ public class KeyValueContainerData extends ContainerData {
*
* @param numBlocks decrement number
*/
- public void decrPendingDeletionBlocks(int numBlocks) {
+ public void decrPendingDeletionBlocks(long numBlocks) {
this.numPendingDeletionBlocks.addAndGet(-1 * numBlocks);
}
/**
* Get the number of pending deletion blocks.
*/
- public int getNumPendingDeletionBlocks() {
+ public long getNumPendingDeletionBlocks() {
return this.numPendingDeletionBlocks.get();
}
diff --git a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/keyvalue/helpers/KeyValueContainerUtil.java b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/keyvalue/helpers/KeyValueContainerUtil.java
index 2141bed..d5fea23 100644
--- a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/keyvalue/helpers/KeyValueContainerUtil.java
+++ b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/keyvalue/helpers/KeyValueContainerUtil.java
@@ -23,7 +23,6 @@ import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.List;
-import com.google.common.primitives.Ints;
import com.google.common.primitives.Longs;
import org.apache.hadoop.hdds.conf.ConfigurationSource;
import org.apache.hadoop.hdds.protocol.datanode.proto.ContainerProtos;
@@ -171,7 +170,7 @@ public final class KeyValueContainerUtil {
containerDB.getStore().get(DB_PENDING_DELETE_BLOCK_COUNT_KEY);
if (pendingDeleteBlockCount != null) {
kvContainerData.incrPendingDeletionBlocks(
- Ints.fromByteArray(pendingDeleteBlockCount));
+ Longs.fromByteArray(pendingDeleteBlockCount));
} else {
// Set pending deleted block count.
MetadataKeyFilters.KeyPrefixFilter filter =
diff --git a/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/TestBlockDeletingService.java b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/TestBlockDeletingService.java
index b8843de..ba6999d 100644
--- a/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/TestBlockDeletingService.java
+++ b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/TestBlockDeletingService.java
@@ -27,7 +27,6 @@ import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
import com.google.common.collect.Lists;
-import com.google.common.primitives.Ints;
import com.google.common.primitives.Longs;
import org.apache.commons.io.FileUtils;
import org.apache.hadoop.hdds.StringUtils;
@@ -180,7 +179,7 @@ public class TestBlockDeletingService {
metadata.getStore().put(OzoneConsts.DB_CONTAINER_BYTES_USED_KEY,
Longs.toByteArray(blockLength * numOfBlocksPerContainer));
metadata.getStore().put(DB_PENDING_DELETE_BLOCK_COUNT_KEY,
- Ints.toByteArray(numOfBlocksPerContainer));
+ Longs.toByteArray(numOfBlocksPerContainer));
}
}
}
@@ -251,6 +250,8 @@ public class TestBlockDeletingService {
// Ensure there are 3 blocks under deletion and 0 deleted blocks
Assert.assertEquals(3, getUnderDeletionBlocksCount(meta));
+ Assert.assertEquals(3, Longs.fromByteArray(
+ meta.getStore().get(DB_PENDING_DELETE_BLOCK_COUNT_KEY)));
Assert.assertEquals(0, getDeletedBlocksCount(meta));
// An interval will delete 1 * 2 blocks
@@ -269,7 +270,7 @@ public class TestBlockDeletingService {
// Check finally DB counters.
// Not checking bytes used, as handler is a mock call.
- Assert.assertEquals(0, Ints.fromByteArray(
+ Assert.assertEquals(0, Longs.fromByteArray(
meta.getStore().get(DB_PENDING_DELETE_BLOCK_COUNT_KEY)));
Assert.assertEquals(0, Longs.fromByteArray(
meta.getStore().get(DB_BLOCK_COUNT_KEY)));
---------------------------------------------------------------------
To unsubscribe, e-mail: ozone-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: ozone-commits-help@hadoop.apache.org