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/10 12:48:30 UTC
[hadoop-ozone] 05/08: HDDS-3879. Introduce SCM and OM layoutVersion
zero to the VERSION file (#1156)
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 6a2183c34eea54a2aa267475920187b24140b5fb
Author: Stephen O'Donnell <st...@gmail.com>
AuthorDate: Thu Jul 9 11:00:59 2020 +0100
HDDS-3879. Introduce SCM and OM layoutVersion zero to the VERSION file (#1156)
(cherry picked from commit f7a0d0746fa18ca39b893f499c4ef57da137858c)
---
.../org/apache/hadoop/ozone/common/Storage.java | 7 ++++++-
.../apache/hadoop/ozone/common/StorageInfo.java | 24 +++++++++++++++++++++-
.../hdds/scm/server/StorageContainerManager.java | 10 +++++----
.../org/apache/hadoop/ozone/om/OzoneManager.java | 6 ++++--
4 files changed, 39 insertions(+), 8 deletions(-)
diff --git a/hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/common/Storage.java b/hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/common/Storage.java
index a7d1b39..25f8e86 100644
--- a/hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/common/Storage.java
+++ b/hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/common/Storage.java
@@ -48,6 +48,7 @@ public abstract class Storage {
public static final String STORAGE_DIR_CURRENT = "current";
protected static final String STORAGE_FILE_VERSION = "VERSION";
public static final String CONTAINER_DIR = "containerDir";
+ private static final int LAYOUT_VERSION = 0;
private final NodeType nodeType;
private final File root;
@@ -74,7 +75,7 @@ public abstract class Storage {
this.storageInfo = new StorageInfo(type, getVersionFile());
} else {
this.storageInfo = new StorageInfo(
- nodeType, StorageInfo.newClusterID(), Time.now());
+ nodeType, StorageInfo.newClusterID(), Time.now(), LAYOUT_VERSION);
setNodeProperties();
}
}
@@ -116,6 +117,10 @@ public abstract class Storage {
}
}
+ public int getLayoutVersion() {
+ return storageInfo.getLayoutVersion();
+ }
+
/**
* Retrieves the storageInfo instance to read/write the common
* version file properties.
diff --git a/hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/common/StorageInfo.java b/hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/common/StorageInfo.java
index 67a27b1..55911fc 100644
--- a/hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/common/StorageInfo.java
+++ b/hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/common/StorageInfo.java
@@ -52,6 +52,10 @@ public class StorageInfo {
* Property to hold creation time of the storage.
*/
private static final String CREATION_TIME = "cTime";
+ /**
+ * Property to hold the layout version.
+ */
+ private static final String LAYOUT_VERSION = "layoutVersion";
/**
* Constructs StorageInfo instance.
@@ -64,13 +68,14 @@ public class StorageInfo {
* @throws IOException - on Error.
*/
- public StorageInfo(NodeType type, String cid, long cT)
+ public StorageInfo(NodeType type, String cid, long cT, int layout)
throws IOException {
Preconditions.checkNotNull(type);
Preconditions.checkNotNull(cid);
properties.setProperty(NODE_TYPE, type.name());
properties.setProperty(CLUSTER_ID, cid);
properties.setProperty(CREATION_TIME, String.valueOf(cT));
+ properties.setProperty(LAYOUT_VERSION, Integer.toString(layout));
}
public StorageInfo(NodeType type, File propertiesFile)
@@ -79,6 +84,7 @@ public class StorageInfo {
verifyNodeType(type);
verifyClusterId();
verifyCreationTime();
+ verifyLayoutVersion();
}
public NodeType getNodeType() {
@@ -97,6 +103,22 @@ public class StorageInfo {
return null;
}
+ public int getLayoutVersion() {
+ String layout = properties.getProperty(LAYOUT_VERSION);
+ if(layout != null) {
+ return Integer.parseInt(layout);
+ }
+ return 0;
+ }
+
+ private void verifyLayoutVersion() {
+ String layout = getProperty(LAYOUT_VERSION);
+ if (layout == null) {
+ // For now, default it to "0"
+ setProperty(LAYOUT_VERSION, "0");
+ }
+ }
+
public String getProperty(String key) {
return properties.getProperty(key);
}
diff --git a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/server/StorageContainerManager.java b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/server/StorageContainerManager.java
index 73113d1..0ed843c 100644
--- a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/server/StorageContainerManager.java
+++ b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/server/StorageContainerManager.java
@@ -642,8 +642,9 @@ public final class StorageContainerManager extends ServiceRuntimeInfoImpl
}
scmStorageConfig.initialize();
LOG.info("SCM initialization succeeded. Current cluster id for sd={}"
- + ";cid={}", scmStorageConfig.getStorageDir(),
- scmStorageConfig.getClusterID());
+ + ";cid={};layoutVersion={}", scmStorageConfig.getStorageDir(),
+ scmStorageConfig.getClusterID(),
+ scmStorageConfig.getLayoutVersion());
return true;
} catch (IOException ioe) {
LOG.error("Could not initialize SCM version file", ioe);
@@ -651,8 +652,9 @@ public final class StorageContainerManager extends ServiceRuntimeInfoImpl
}
} else {
LOG.info("SCM already initialized. Reusing existing cluster id for sd={}"
- + ";cid={}", scmStorageConfig.getStorageDir(),
- scmStorageConfig.getClusterID());
+ + ";cid={};layoutVersion={}", scmStorageConfig.getStorageDir(),
+ scmStorageConfig.getClusterID(),
+ scmStorageConfig.getLayoutVersion());
return true;
}
}
diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OzoneManager.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OzoneManager.java
index de0de0b..1b75b95 100644
--- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OzoneManager.java
+++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OzoneManager.java
@@ -916,7 +916,8 @@ public final class OzoneManager extends ServiceRuntimeInfoImpl
System.out.println(
"OM initialization succeeded.Current cluster id for sd="
+ omStorage.getStorageDir() + ";cid=" + omStorage
- .getClusterID());
+ .getClusterID() + ";layoutVersion=" + omStorage
+ .getLayoutVersion());
return true;
} catch (IOException ioe) {
@@ -933,7 +934,8 @@ public final class OzoneManager extends ServiceRuntimeInfoImpl
System.out.println(
"OM already initialized.Reusing existing cluster id for sd="
+ omStorage.getStorageDir() + ";cid=" + omStorage
- .getClusterID());
+ .getClusterID() + ";layoutVersion=" + omStorage
+ .getLayoutVersion());
return true;
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: ozone-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: ozone-commits-help@hadoop.apache.org