Repository: hadoop
Updated Branches:
  refs/heads/HDFS-7240 94a567dd0 -> b13cb04a0


HDFS-12539. Ozone: refactor some functions in KSMMetadataManagerImpl to be more 
readable and reusable. Contributed by Yuanbo Liu.


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/b13cb04a
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/b13cb04a
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/b13cb04a

Branch: refs/heads/HDFS-7240
Commit: b13cb04a06660b1e9dd81d340fdf1ad068c9ff05
Parents: 94a567d
Author: Anu Engineer <[email protected]>
Authored: Tue Oct 3 15:06:51 2017 -0700
Committer: Anu Engineer <[email protected]>
Committed: Tue Oct 3 15:06:51 2017 -0700

----------------------------------------------------------------------
 .../hadoop/ozone/ksm/KSMMetadataManager.java    |  2 +-
 .../ozone/ksm/KSMMetadataManagerImpl.java       | 28 +++++++++++---------
 .../apache/hadoop/ozone/ksm/KeyManagerImpl.java |  6 ++---
 3 files changed, 19 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hadoop/blob/b13cb04a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/ksm/KSMMetadataManager.java
----------------------------------------------------------------------
diff --git 
a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/ksm/KSMMetadataManager.java
 
b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/ksm/KSMMetadataManager.java
index 010de58..bb9df17 100644
--- 
a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/ksm/KSMMetadataManager.java
+++ 
b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/ksm/KSMMetadataManager.java
@@ -114,7 +114,7 @@ public interface KSMMetadataManager {
    * @param key - key name
    * @return bytes of DB key.
    */
-  byte[] getDBKeyForKey(String volume, String bucket, String key);
+  byte[] getDBKeyBytes(String volume, String bucket, String key);
 
   /**
    * Returns the DB key name of a deleted key in KSM metadata store.

http://git-wip-us.apache.org/repos/asf/hadoop/blob/b13cb04a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/ksm/KSMMetadataManagerImpl.java
----------------------------------------------------------------------
diff --git 
a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/ksm/KSMMetadataManagerImpl.java
 
b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/ksm/KSMMetadataManagerImpl.java
index b8eaeba..9a6a2b0 100644
--- 
a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/ksm/KSMMetadataManagerImpl.java
+++ 
b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/ksm/KSMMetadataManagerImpl.java
@@ -137,7 +137,12 @@ public class KSMMetadataManagerImpl implements 
KSMMetadataManager {
     return DFSUtil.string2Bytes(bucketKeyString);
   }
 
-  private String getBucketKeyPrefix(String volume, String bucket) {
+  /**
+   * @param volume
+   * @param bucket
+   * @return
+   */
+  private String getBucketWithDBPrefix(String volume, String bucket) {
     StringBuffer sb = new StringBuffer();
     sb.append(OzoneConsts.KSM_VOLUME_PREFIX)
         .append(volume)
@@ -148,7 +153,7 @@ public class KSMMetadataManagerImpl implements 
KSMMetadataManager {
     return sb.toString();
   }
 
-  private String getKeyKeyPrefix(String volume, String bucket, String key) {
+  private String getKeyWithDBPrefix(String volume, String bucket, String key) {
     String keyVB = OzoneConsts.KSM_KEY_PREFIX + volume
         + OzoneConsts.KSM_KEY_PREFIX + bucket
         + OzoneConsts.KSM_KEY_PREFIX;
@@ -156,11 +161,8 @@ public class KSMMetadataManagerImpl implements 
KSMMetadataManager {
   }
 
   @Override
-  public byte[] getDBKeyForKey(String volume, String bucket, String key) {
-    String keyKeyString = OzoneConsts.KSM_KEY_PREFIX + volume
-        + OzoneConsts.KSM_KEY_PREFIX + bucket + OzoneConsts.KSM_KEY_PREFIX
-        + key;
-    return DFSUtil.string2Bytes(keyKeyString);
+  public byte[] getDBKeyBytes(String volume, String bucket, String key) {
+    return DFSUtil.string2Bytes(getKeyWithDBPrefix(volume, bucket, key));
   }
 
   @Override
@@ -247,8 +249,7 @@ public class KSMMetadataManagerImpl implements 
KSMMetadataManager {
    */
   public boolean isBucketEmpty(String volume, String bucket)
       throws IOException {
-    String keyRootName = OzoneConsts.KSM_KEY_PREFIX + volume
-        + OzoneConsts.KSM_KEY_PREFIX + bucket + OzoneConsts.KSM_KEY_PREFIX;
+    String keyRootName = getKeyWithDBPrefix(volume, bucket, null);
     byte[] keyRoot = DFSUtil.string2Bytes(keyRootName);
     ImmutablePair<byte[], byte[]> firstKey = store.peekAround(0, keyRoot);
     if (firstKey != null) {
@@ -281,7 +282,8 @@ public class KSMMetadataManagerImpl implements 
KSMMetadataManager {
     // A bucket starts with /#volume/#bucket_prefix
     MetadataKeyFilter filter = (preKey, currentKey, nextKey) -> {
       if (currentKey != null) {
-        String bucketNamePrefix = getBucketKeyPrefix(volumeName, bucketPrefix);
+        String bucketNamePrefix =
+                getBucketWithDBPrefix(volumeName, bucketPrefix);
         String bucket = DFSUtil.bytes2String(currentKey);
         return bucket.startsWith(bucketNamePrefix);
       }
@@ -329,15 +331,15 @@ public class KSMMetadataManagerImpl implements 
KSMMetadataManager {
           ResultCodes.FAILED_BUCKET_NOT_FOUND);
     }
 
-    MetadataKeyFilter filter =
-        new KeyPrefixFilter(getKeyKeyPrefix(volumeName, bucketName, 
keyPrefix));
+    MetadataKeyFilter filter = new KeyPrefixFilter(
+                getKeyWithDBPrefix(volumeName, bucketName, keyPrefix));
 
     List<Map.Entry<byte[], byte[]>> rangeResult;
     if (!Strings.isNullOrEmpty(startKey)) {
       //Since we are excluding start key from the result,
       // the maxNumOfBuckets is incremented.
       rangeResult = store.getRangeKVs(
-          getDBKeyForKey(volumeName, bucketName, startKey),
+          getDBKeyBytes(volumeName, bucketName, startKey),
           maxKeys + 1, filter);
       //Remove start key from result.
       rangeResult.remove(0);

http://git-wip-us.apache.org/repos/asf/hadoop/blob/b13cb04a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/ksm/KeyManagerImpl.java
----------------------------------------------------------------------
diff --git 
a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/ksm/KeyManagerImpl.java
 
b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/ksm/KeyManagerImpl.java
index 301d5e7..feed9cb 100644
--- 
a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/ksm/KeyManagerImpl.java
+++ 
b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/ksm/KeyManagerImpl.java
@@ -100,7 +100,7 @@ public class KeyManagerImpl implements KeyManager {
       byte[] volumeKey = metadataManager.getVolumeKey(volumeName);
       byte[] bucketKey = metadataManager.getBucketKey(volumeName, bucketName);
       byte[] keyKey =
-          metadataManager.getDBKeyForKey(volumeName, bucketName, keyName);
+          metadataManager.getDBKeyBytes(volumeName, bucketName, keyName);
 
       //Check if the volume exists
       if (metadataManager.get(volumeKey) == null) {
@@ -188,7 +188,7 @@ public class KeyManagerImpl implements KeyManager {
     String bucketName = args.getBucketName();
     String keyName = args.getKeyName();
     try {
-      byte[] keyKey = metadataManager.getDBKeyForKey(
+      byte[] keyKey = metadataManager.getDBKeyBytes(
           volumeName, bucketName, keyName);
       byte[] value = metadataManager.get(keyKey);
       if (value == null) {
@@ -216,7 +216,7 @@ public class KeyManagerImpl implements KeyManager {
     String bucketName = args.getBucketName();
     String keyName = args.getKeyName();
     try {
-      byte[] objectKey = metadataManager.getDBKeyForKey(
+      byte[] objectKey = metadataManager.getDBKeyBytes(
           volumeName, bucketName, keyName);
       byte[] objectValue = metadataManager.get(objectKey);
       if (objectValue == null) {


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

Reply via email to