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

szetszwo 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 d10254cb45 HDDS-8643. Support CodecBuffer for PipelineID codec. (#4729)
d10254cb45 is described below

commit d10254cb45d83ffc550a67d0881a497fc51b9c42
Author: Tsz-Wo Nicholas Sze <[email protected]>
AuthorDate: Fri May 19 05:51:11 2023 +0800

    HDDS-8643. Support CodecBuffer for PipelineID codec. (#4729)
---
 .../hadoop/hdds/scm/pipeline/PipelineID.java       | 13 +++-
 .../org/apache/hadoop/hdds/utils/db/LongCodec.java |  4 +-
 .../org/apache/hadoop/hdds/utils/db/UuidCodec.java | 88 ++++++++++++++++++++++
 .../hdds/datanode/metadata/CRLDBDefinition.java    |  4 +-
 .../apache/hadoop/hdds/utils/db/CodecRegistry.java |  2 +-
 .../org/apache/hadoop/hdds/utils/db/TestCodec.java | 17 ++++-
 .../hadoop/hdds/utils/db/TestDBStoreBuilder.java   |  4 +-
 .../hadoop/hdds/scm/metadata/SCMDBDefinition.java  | 10 +--
 .../metadata/OldPipelineIDCodecForTesting.java}    |  2 +-
 .../hdds/scm/metadata/TestPipelineIDCodec.java     | 39 +++++-----
 .../hadoop/ozone/om/codec/OMDBDefinition.java      |  2 +-
 .../hadoop/ozone/recon/codec/NSSummaryCodec.java   |  2 +-
 .../ozone/recon/spi/impl/ReconDBDefinition.java    | 10 +--
 13 files changed, 158 insertions(+), 39 deletions(-)

diff --git 
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/pipeline/PipelineID.java
 
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/pipeline/PipelineID.java
index 0c2167c339..f0cc5a381d 100644
--- 
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/pipeline/PipelineID.java
+++ 
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/pipeline/PipelineID.java
@@ -20,15 +20,26 @@ package org.apache.hadoop.hdds.scm.pipeline;
 
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import org.apache.hadoop.hdds.protocol.proto.HddsProtos;
+import org.apache.hadoop.hdds.utils.db.Codec;
+import org.apache.hadoop.hdds.utils.db.DelegatedCodec;
+import org.apache.hadoop.hdds.utils.db.UuidCodec;
 
 import java.util.UUID;
 
 /**
  * ID for the pipeline, the ID is based on UUID.
+ * <p>
+ * This class is immutable.
  */
 public final class PipelineID {
+  private static final Codec<PipelineID> CODEC = new DelegatedCodec<>(
+      UuidCodec.get(), PipelineID::valueOf, c -> c.id, true);
 
-  private UUID id;
+  public static Codec<PipelineID> getCodec() {
+    return CODEC;
+  }
+
+  private final UUID id;
 
   private PipelineID(UUID id) {
     this.id = id;
diff --git 
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/utils/db/LongCodec.java
 
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/utils/db/LongCodec.java
index 5ea7d5b88d..9865789864 100644
--- 
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/utils/db/LongCodec.java
+++ 
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/utils/db/LongCodec.java
@@ -24,7 +24,7 @@ import javax.annotation.Nonnull;
 import java.util.function.IntFunction;
 
 /**
- * Codec to convert Long to/from byte array.
+ * Codec to serialize/deserialize {@link Long}.
  */
 public final class LongCodec implements Codec<Long> {
   private static final LongCodec CODEC = new LongCodec();
@@ -33,6 +33,8 @@ public final class LongCodec implements Codec<Long> {
     return CODEC;
   }
 
+  private LongCodec() { }
+
   @Override
   public boolean supportCodecBuffer() {
     return true;
diff --git 
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/utils/db/UuidCodec.java
 
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/utils/db/UuidCodec.java
new file mode 100644
index 0000000000..e6876bc6ad
--- /dev/null
+++ 
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/utils/db/UuidCodec.java
@@ -0,0 +1,88 @@
+/*
+ * 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
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.hadoop.hdds.utils.db;
+
+import javax.annotation.Nonnull;
+import java.nio.ByteBuffer;
+import java.util.UUID;
+import java.util.function.IntFunction;
+
+/**
+ * Codec to serialize/deserialize {@link UUID}.
+ */
+public final class UuidCodec implements Codec<UUID> {
+  private static final int SERIALIZED_SIZE = 16;
+
+  private static final UuidCodec CODEC = new UuidCodec();
+
+  public static UuidCodec get() {
+    return CODEC;
+  }
+
+  public static int getSerializedSize() {
+    return SERIALIZED_SIZE;
+  }
+
+  private UuidCodec() { }
+
+  @Override
+  public boolean supportCodecBuffer() {
+    return true;
+  }
+
+  @Override
+  public CodecBuffer toCodecBuffer(@Nonnull UUID id,
+      IntFunction<CodecBuffer> allocator) {
+    return allocator.apply(SERIALIZED_SIZE)
+        .putLong(id.getMostSignificantBits())
+        .putLong(id.getLeastSignificantBits());
+  }
+
+  @Override
+  public UUID fromCodecBuffer(@Nonnull CodecBuffer buffer) {
+    return getUuid(buffer.asReadOnlyByteBuffer());
+  }
+
+  private static UUID getUuid(ByteBuffer buffer) {
+    return new UUID(buffer.getLong(), buffer.getLong());
+  }
+
+  @Override
+  public byte[] toPersistedFormat(UUID id) {
+    final byte[] array = new byte[SERIALIZED_SIZE];
+    final ByteBuffer buffer = ByteBuffer.wrap(array);
+    buffer.putLong(id.getMostSignificantBits());
+    buffer.putLong(id.getLeastSignificantBits());
+    return array;
+  }
+
+  @Override
+  public UUID fromPersistedFormat(byte[] array) {
+    if (array.length != SERIALIZED_SIZE) {
+      throw new IllegalArgumentException("Unexpected array length: "
+          + array.length + " != " + SERIALIZED_SIZE);
+    }
+    return getUuid(ByteBuffer.wrap(array));
+  }
+
+  @Override
+  public UUID copyObject(UUID object) {
+    return object;
+  }
+}
diff --git 
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/hdds/datanode/metadata/CRLDBDefinition.java
 
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/hdds/datanode/metadata/CRLDBDefinition.java
index 222b61e3b9..149c11aaad 100644
--- 
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/hdds/datanode/metadata/CRLDBDefinition.java
+++ 
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/hdds/datanode/metadata/CRLDBDefinition.java
@@ -44,7 +44,7 @@ public class CRLDBDefinition implements DBDefinition {
       new DBColumnFamilyDefinition<>(
           "pendingCrls",
           Long.class,
-          new LongCodec(),
+          LongCodec.get(),
           CRLInfo.class,
           new CRLInfoCodec());
 
@@ -55,7 +55,7 @@ public class CRLDBDefinition implements DBDefinition {
           String.class,
           new StringCodec(),
           Long.class,
-          new LongCodec());
+          LongCodec.get());
 
   @Override
   public String getName() {
diff --git 
a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/db/CodecRegistry.java
 
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/db/CodecRegistry.java
index c60b681c6a..0879749973 100644
--- 
a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/db/CodecRegistry.java
+++ 
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/db/CodecRegistry.java
@@ -50,7 +50,7 @@ public final class CodecRegistry {
   public static Builder newBuilder() {
     return new Builder()
         .addCodec(String.class, new StringCodec())
-        .addCodec(Long.class, new LongCodec())
+        .addCodec(Long.class, LongCodec.get())
         .addCodec(Integer.class, new IntegerCodec())
         .addCodec(byte[].class, new ByteArrayCodec());
   }
diff --git 
a/hadoop-hdds/framework/src/test/java/org/apache/hadoop/hdds/utils/db/TestCodec.java
 
b/hadoop-hdds/framework/src/test/java/org/apache/hadoop/hdds/utils/db/TestCodec.java
index e1e0059128..ab94814b2e 100644
--- 
a/hadoop-hdds/framework/src/test/java/org/apache/hadoop/hdds/utils/db/TestCodec.java
+++ 
b/hadoop-hdds/framework/src/test/java/org/apache/hadoop/hdds/utils/db/TestCodec.java
@@ -27,6 +27,7 @@ import 
org.apache.hadoop.hdds.utils.db.RDBBatchOperation.Bytes;
 import java.io.IOException;
 import java.lang.ref.WeakReference;
 import java.nio.ByteBuffer;
+import java.util.UUID;
 import java.util.concurrent.ThreadLocalRandom;
 
 /**
@@ -70,7 +71,7 @@ public final class TestCodec {
 
   @Test
   public void testLongCodec() throws Exception {
-    final LongCodec codec = new LongCodec();
+    final LongCodec codec = LongCodec.get();
     runTest(codec, 0L, Long.BYTES);
     runTest(codec, 1L, Long.BYTES);
     runTest(codec, -1L, Long.BYTES);
@@ -96,6 +97,20 @@ public final class TestCodec {
     gc();
   }
 
+  @Test
+  public void testUuidCodec() throws Exception {
+    final int size = UuidCodec.getSerializedSize();
+    final UuidCodec codec = UuidCodec.get();
+    runTest(codec, new UUID(0L, 0L), size);
+    runTest(codec, new UUID(-1L, -1L), size);
+
+    for (int i = 0; i < NUM_LOOPS; i++) {
+      final UUID original = UUID.randomUUID();
+      runTest(codec, original, size);
+    }
+    gc();
+  }
+
   static <T> void runTest(Codec<T> codec, T original,
       Integer serializedSize) throws Exception {
     Assertions.assertTrue(codec.supportCodecBuffer());
diff --git 
a/hadoop-hdds/framework/src/test/java/org/apache/hadoop/hdds/utils/db/TestDBStoreBuilder.java
 
b/hadoop-hdds/framework/src/test/java/org/apache/hadoop/hdds/utils/db/TestDBStoreBuilder.java
index df2b5d08cb..e13f6468da 100644
--- 
a/hadoop-hdds/framework/src/test/java/org/apache/hadoop/hdds/utils/db/TestDBStoreBuilder.java
+++ 
b/hadoop-hdds/framework/src/test/java/org/apache/hadoop/hdds/utils/db/TestDBStoreBuilder.java
@@ -176,7 +176,7 @@ public class TestDBStoreBuilder {
 
       private final DBColumnFamilyDefinition<String, Long> sampleTable =
           new DBColumnFamilyDefinition<>(sampleTableName,
-              String.class, new StringCodec(), Long.class, new LongCodec());
+              String.class, new StringCodec(), Long.class, LongCodec.get());
       {
         ManagedColumnFamilyOptions cfOptions = new 
ManagedColumnFamilyOptions();
         // reverse the default option for check
@@ -253,7 +253,7 @@ public class TestDBStoreBuilder {
 
       private final DBColumnFamilyDefinition<String, Long> sampleTable =
               new DBColumnFamilyDefinition<>(sampleTableName, String.class,
-                      new StringCodec(), Long.class, new LongCodec());
+                      new StringCodec(), Long.class, LongCodec.get());
 
 
       @Override
diff --git 
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/metadata/SCMDBDefinition.java
 
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/metadata/SCMDBDefinition.java
index a28d45fc16..5a631ded96 100644
--- 
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/metadata/SCMDBDefinition.java
+++ 
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/metadata/SCMDBDefinition.java
@@ -49,7 +49,7 @@ public class SCMDBDefinition implements DBDefinition {
       new DBColumnFamilyDefinition<>(
           "deletedBlocks",
           Long.class,
-          new LongCodec(),
+          LongCodec.get(),
           DeletedBlocksTransaction.class,
           new DeletedBlocksTransactionCodec());
 
@@ -98,7 +98,7 @@ public class SCMDBDefinition implements DBDefinition {
       new DBColumnFamilyDefinition<>(
           "pipelines",
           PipelineID.class,
-          new PipelineIDCodec(),
+          PipelineID.getCodec(),
           Pipeline.class,
           new PipelineCodec());
 
@@ -124,7 +124,7 @@ public class SCMDBDefinition implements DBDefinition {
       new DBColumnFamilyDefinition<>(
           "crls",
           Long.class,
-          new LongCodec(),
+          LongCodec.get(),
           CRLInfo.class,
           new CRLInfoCodec());
 
@@ -135,7 +135,7 @@ public class SCMDBDefinition implements DBDefinition {
           String.class,
           new StringCodec(),
           Long.class,
-          new LongCodec());
+          LongCodec.get());
 
   public static final DBColumnFamilyDefinition<String, Long>
       SEQUENCE_ID =
@@ -144,7 +144,7 @@ public class SCMDBDefinition implements DBDefinition {
           String.class,
           new StringCodec(),
           Long.class,
-          new LongCodec());
+          LongCodec.get());
 
   public static final DBColumnFamilyDefinition<ContainerID,
       MoveDataNodePair>
diff --git 
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/metadata/PipelineIDCodec.java
 
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/metadata/OldPipelineIDCodecForTesting.java
similarity index 97%
rename from 
hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/metadata/PipelineIDCodec.java
rename to 
hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/metadata/OldPipelineIDCodecForTesting.java
index e73539f70f..fb80fbbee7 100644
--- 
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/metadata/PipelineIDCodec.java
+++ 
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/metadata/OldPipelineIDCodecForTesting.java
@@ -29,7 +29,7 @@ import org.apache.hadoop.hdds.utils.db.Codec;
 /**
  * Codec to serialize / deserialize PipelineID.
  */
-public class PipelineIDCodec implements Codec<PipelineID> {
+public class OldPipelineIDCodecForTesting implements Codec<PipelineID> {
 
   @Override
   public byte[] toPersistedFormat(PipelineID object) throws IOException {
diff --git 
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/metadata/TestPipelineIDCodec.java
 
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/metadata/TestPipelineIDCodec.java
index 1ae5275d20..83c084232c 100644
--- 
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/metadata/TestPipelineIDCodec.java
+++ 
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/metadata/TestPipelineIDCodec.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
@@ -22,6 +22,7 @@ import static 
org.junit.jupiter.api.Assertions.assertArrayEquals;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import org.apache.hadoop.hdds.scm.pipeline.PipelineID;
+import org.apache.hadoop.hdds.utils.db.Codec;
 import org.junit.jupiter.api.Test;
 
 import java.util.UUID;
@@ -30,6 +31,9 @@ import java.util.UUID;
  * Testing serialization of PipelineID objects to/from RocksDB.
  */
 public class TestPipelineIDCodec {
+  private final OldPipelineIDCodecForTesting oldCodec
+      = new OldPipelineIDCodecForTesting();
+  private final Codec<PipelineID> newCodec = PipelineID.getCodec();
 
   @Test
   public void testPersistingZeroAsUUID() throws Exception {
@@ -95,12 +99,7 @@ public class TestPipelineIDCodec {
     long mostSigBits = 0x0000_0000_0000_0000L;
     long leastSigBits = 0x0000_0000_0000_0000L;
     UUID uuid = new UUID(mostSigBits, leastSigBits);
-    PipelineID pid = PipelineID.valueOf(uuid);
-
-    byte[] encoded = new PipelineIDCodec().toPersistedFormat(pid);
-    PipelineID decoded = new PipelineIDCodec().fromPersistedFormat(encoded);
-
-    assertEquals(pid, decoded);
+    assertUuid(uuid);
   }
 
   @Test
@@ -108,23 +107,25 @@ public class TestPipelineIDCodec {
     long mostSigBits = 0xFFFF_FFFF_FFFF_FFFFL;
     long leastSigBits = 0xFFFF_FFFF_FFFF_FFFFL;
     UUID uuid = new UUID(mostSigBits, leastSigBits);
-    PipelineID pid = PipelineID.valueOf(uuid);
-
-    byte[] encoded = new PipelineIDCodec().toPersistedFormat(pid);
-    PipelineID decoded = new PipelineIDCodec().fromPersistedFormat(encoded);
-
-    assertEquals(pid, decoded);
+    assertUuid(uuid);
   }
 
   @Test
   public void testConvertAndReadBackRandomUUID() throws Exception {
     UUID uuid = UUID.randomUUID();
+    assertUuid(uuid);
+  }
+
+  void assertUuid(UUID uuid) throws Exception {
     PipelineID pid = PipelineID.valueOf(uuid);
 
-    byte[] encoded = new PipelineIDCodec().toPersistedFormat(pid);
-    PipelineID decoded = new PipelineIDCodec().fromPersistedFormat(encoded);
 
-    assertEquals(pid, decoded);
+    final byte[] expected = oldCodec.toPersistedFormat(pid);
+    final byte[] computed = newCodec.toPersistedFormat(pid);
+    assertArrayEquals(expected, computed);
+
+    assertEquals(pid, oldCodec.fromPersistedFormat(expected));
+    assertEquals(pid, newCodec.fromPersistedFormat(expected));
   }
 
   private void checkPersisting(
@@ -133,9 +134,11 @@ public class TestPipelineIDCodec {
     UUID uuid = new UUID(mostSigBits, leastSigBits);
     PipelineID pid = PipelineID.valueOf(uuid);
 
-    byte[] encoded = new PipelineIDCodec().toPersistedFormat(pid);
-
+    final byte[] encoded = oldCodec.toPersistedFormat(pid);
     assertArrayEquals(expected, encoded);
+
+    final byte[] computed = newCodec.toPersistedFormat(pid);
+    assertArrayEquals(expected, computed);
   }
 
   private byte b(int i) {
diff --git 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/codec/OMDBDefinition.java
 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/codec/OMDBDefinition.java
index 7a78821e9d..cce77f787e 100644
--- 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/codec/OMDBDefinition.java
+++ 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/codec/OMDBDefinition.java
@@ -129,7 +129,7 @@ public class OMDBDefinition implements DBDefinition {
                     OzoneTokenIdentifier.class,
                     new TokenIdentifierCodec(),
                     Long.class,
-                    new LongCodec());
+                    LongCodec.get());
 
   public static final DBColumnFamilyDefinition<String, S3SecretValue>
             S3_SECRET_TABLE =
diff --git 
a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/codec/NSSummaryCodec.java
 
b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/codec/NSSummaryCodec.java
index aedf6a5849..f9a1acdae0 100644
--- 
a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/codec/NSSummaryCodec.java
+++ 
b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/codec/NSSummaryCodec.java
@@ -41,7 +41,7 @@ public class NSSummaryCodec implements Codec<NSSummary> {
 
   private final Codec<Integer> integerCodec = new IntegerCodec();
   private final Codec<Short> shortCodec = new ShortCodec();
-  private final Codec<Long> longCodec = new LongCodec();
+  private final Codec<Long> longCodec = LongCodec.get();
   private final Codec<String> stringCodec = new StringCodec();
   // 1 int fields + 41-length int array
   // + 2 dummy field to track list size/dirName length
diff --git 
a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/spi/impl/ReconDBDefinition.java
 
b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/spi/impl/ReconDBDefinition.java
index 3d105c70d3..88b7c99d5a 100644
--- 
a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/spi/impl/ReconDBDefinition.java
+++ 
b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/spi/impl/ReconDBDefinition.java
@@ -63,16 +63,16 @@ public class ReconDBDefinition implements DBDefinition {
       new DBColumnFamilyDefinition<>(
           "containerKeyCountTable",
           Long.class,
-          new LongCodec(),
+          LongCodec.get(),
           Long.class,
-          new LongCodec());
+          LongCodec.get());
 
   public static final DBColumnFamilyDefinition
       <Long, ContainerReplicaHistoryList> REPLICA_HISTORY =
       new DBColumnFamilyDefinition<Long, ContainerReplicaHistoryList>(
           "replica_history",
           Long.class,
-          new LongCodec(),
+          LongCodec.get(),
           ContainerReplicaHistoryList.class,
           new ContainerReplicaHistoryListCodec());
 
@@ -80,7 +80,7 @@ public class ReconDBDefinition implements DBDefinition {
       NAMESPACE_SUMMARY = new DBColumnFamilyDefinition<Long, NSSummary>(
           "namespaceSummaryTable",
           Long.class,
-          new LongCodec(),
+          LongCodec.get(),
           NSSummary.class,
           new NSSummaryCodec());
 
@@ -90,7 +90,7 @@ public class ReconDBDefinition implements DBDefinition {
       new DBColumnFamilyDefinition<Long, ContainerReplicaHistoryList>(
           "replica_history_v2",
           Long.class,
-          new LongCodec(),
+          LongCodec.get(),
           ContainerReplicaHistoryList.class,
           new ContainerReplicaHistoryListCodec());
 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to