This is an automated email from the ASF dual-hosted git repository.
erose 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 94b8c4b HDDS-5516. Duplicate metrics registered while running
checkScmHA upon scm startup. (#2475)
94b8c4b is described below
commit 94b8c4b4077c29f0a9c2079c9b9038a63598a562
Author: Gui Hecheng <[email protected]>
AuthorDate: Fri Aug 6 08:52:32 2021 +0800
HDDS-5516. Duplicate metrics registered while running checkScmHA upon scm
startup. (#2475)
---
.../hadoop/hdds/scm/server/StorageContainerManager.java | 3 ++-
.../upgrade/ScmHAUnfinalizedStateValidationAction.java | 13 ++++++-------
2 files changed, 8 insertions(+), 8 deletions(-)
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 9fa209c..eac04a0 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
@@ -1028,7 +1028,8 @@ public final class StorageContainerManager extends
ServiceRuntimeInfoImpl
// If SCM HA was not being used before pre-finalize, and is being used
// when the cluster is pre-finalized for the SCM HA feature, init
// should fail.
- ScmHAUnfinalizedStateValidationAction.checkScmHA(conf, scmStorageConfig);
+ ScmHAUnfinalizedStateValidationAction.checkScmHA(conf, scmStorageConfig,
+ new HDDSLayoutVersionManager(scmStorageConfig.getLayoutVersion()));
clusterId = scmStorageConfig.getClusterID();
final boolean isSCMHAEnabled = scmStorageConfig.isSCMHAEnabled();
diff --git
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/server/upgrade/ScmHAUnfinalizedStateValidationAction.java
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/server/upgrade/ScmHAUnfinalizedStateValidationAction.java
index 1eb1825..bddee0d 100644
---
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/server/upgrade/ScmHAUnfinalizedStateValidationAction.java
+++
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/server/upgrade/ScmHAUnfinalizedStateValidationAction.java
@@ -27,8 +27,8 @@ import org.apache.hadoop.hdds.scm.ScmConfigKeys;
import org.apache.hadoop.hdds.scm.ha.SCMHAUtils;
import org.apache.hadoop.hdds.scm.server.SCMStorageConfig;
import org.apache.hadoop.hdds.scm.server.StorageContainerManager;
-import org.apache.hadoop.hdds.upgrade.HDDSLayoutVersionManager;
import org.apache.hadoop.hdds.upgrade.HDDSUpgradeAction;
+import org.apache.hadoop.ozone.upgrade.LayoutVersionManager;
import org.apache.hadoop.ozone.upgrade.UpgradeActionHdds;
import org.apache.hadoop.ozone.upgrade.UpgradeException;
@@ -45,7 +45,8 @@ public class ScmHAUnfinalizedStateValidationAction
@Override
public void execute(StorageContainerManager scm) throws IOException {
- checkScmHA(scm.getConfiguration(), scm.getScmStorageConfig());
+ checkScmHA(scm.getConfiguration(), scm.getScmStorageConfig(),
+ scm.getLayoutVersionManager());
}
/**
@@ -53,14 +54,12 @@ public class ScmHAUnfinalizedStateValidationAction
* scm init and the upgrade action run on start.
*/
public static void checkScmHA(OzoneConfiguration conf,
- SCMStorageConfig storageConf) throws IOException {
+ SCMStorageConfig storageConf, LayoutVersionManager versionManager)
+ throws IOException {
// Since this action may need to be called outside the upgrade framework
// during init, it needs to check for pre-finalized state.
- HDDSLayoutVersionManager versionManager =
- new HDDSLayoutVersionManager(storageConf.getLayoutVersion());
-
- if (versionManager.needsFinalization() &&
+ if (!versionManager.isAllowed(SCM_HA) &&
SCMHAUtils.isSCMHAEnabled(conf) &&
!storageConf.isSCMHAEnabled()) {
throw new UpgradeException(String.format("Configuration %s cannot be " +
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]