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