You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by ta...@apache.org on 2021/04/01 04:53:49 UTC
[hadoop] branch branch-3.1 updated: Revert "HDFS-15900. RBF: empty
blockpool id on dfsrouter caused by UNAVAILABLE NameNode. (#2787)"
This is an automated email from the ASF dual-hosted git repository.
tasanuma pushed a commit to branch branch-3.1
in repository https://gitbox.apache.org/repos/asf/hadoop.git
The following commit(s) were added to refs/heads/branch-3.1 by this push:
new ddf9ca1 Revert "HDFS-15900. RBF: empty blockpool id on dfsrouter caused by UNAVAILABLE NameNode. (#2787)"
ddf9ca1 is described below
commit ddf9ca14eed3e44002ac6276a407d90301e5aca9
Author: Takanobu Asanuma <ta...@apache.org>
AuthorDate: Thu Apr 1 13:53:05 2021 +0900
Revert "HDFS-15900. RBF: empty blockpool id on dfsrouter caused by UNAVAILABLE NameNode. (#2787)"
This reverts commit bd27853bfa0f2a0811bc194afe5b942fc6a2365c.
---
.../resolver/FederationNamespaceInfo.java | 46 +-----------------
.../federation/store/impl/MembershipStoreImpl.java | 15 +++---
.../resolver/TestFederationNamespaceInfo.java | 39 ----------------
.../store/TestStateStoreMembershipState.java | 54 ----------------------
4 files changed, 7 insertions(+), 147 deletions(-)
diff --git a/hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/java/org/apache/hadoop/hdfs/server/federation/resolver/FederationNamespaceInfo.java b/hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/java/org/apache/hadoop/hdfs/server/federation/resolver/FederationNamespaceInfo.java
index 1ef159c..33edd30 100644
--- a/hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/java/org/apache/hadoop/hdfs/server/federation/resolver/FederationNamespaceInfo.java
+++ b/hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/java/org/apache/hadoop/hdfs/server/federation/resolver/FederationNamespaceInfo.java
@@ -17,9 +17,6 @@
*/
package org.apache.hadoop.hdfs.server.federation.resolver;
-import org.apache.commons.lang3.builder.CompareToBuilder;
-import org.apache.commons.lang3.builder.EqualsBuilder;
-import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.hadoop.hdfs.server.federation.router.RemoteLocationContext;
/**
@@ -78,45 +75,4 @@ public class FederationNamespaceInfo extends RemoteLocationContext {
public String toString() {
return this.nameserviceId + "->" + this.blockPoolId + ":" + this.clusterId;
}
-
- @Override
- public boolean equals(Object obj) {
- if (obj == null) {
- return false;
- }
- if (obj == this) {
- return true;
- }
- if (obj.getClass() != getClass()) {
- return false;
- }
- FederationNamespaceInfo other = (FederationNamespaceInfo) obj;
- return new EqualsBuilder()
- .append(nameserviceId, other.nameserviceId)
- .append(clusterId, other.clusterId)
- .append(blockPoolId, other.blockPoolId)
- .isEquals();
- }
-
- @Override
- public int hashCode() {
- return new HashCodeBuilder(17, 31)
- .append(nameserviceId)
- .append(clusterId)
- .append(blockPoolId)
- .toHashCode();
- }
-
- @Override
- public int compareTo(RemoteLocationContext info) {
- if (info instanceof FederationNamespaceInfo) {
- FederationNamespaceInfo other = (FederationNamespaceInfo) info;
- return new CompareToBuilder()
- .append(nameserviceId, other.nameserviceId)
- .append(clusterId, other.clusterId)
- .append(blockPoolId, other.blockPoolId)
- .toComparison();
- }
- return super.compareTo(info);
- }
-}
+}
\ No newline at end of file
diff --git a/hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/java/org/apache/hadoop/hdfs/server/federation/store/impl/MembershipStoreImpl.java b/hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/java/org/apache/hadoop/hdfs/server/federation/store/impl/MembershipStoreImpl.java
index a63a0f3..57b7b61 100644
--- a/hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/java/org/apache/hadoop/hdfs/server/federation/store/impl/MembershipStoreImpl.java
+++ b/hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/java/org/apache/hadoop/hdfs/server/federation/store/impl/MembershipStoreImpl.java
@@ -213,15 +213,12 @@ public class MembershipStoreImpl
nnRegistrations.put(nnId, nnRegistration);
}
nnRegistration.add(membership);
- if (membership.getState()
- != FederationNamenodeServiceState.UNAVAILABLE) {
- String bpId = membership.getBlockPoolId();
- String cId = membership.getClusterId();
- String nsId = membership.getNameserviceId();
- FederationNamespaceInfo nsInfo =
- new FederationNamespaceInfo(bpId, cId, nsId);
- this.activeNamespaces.add(nsInfo);
- }
+ String bpId = membership.getBlockPoolId();
+ String cId = membership.getClusterId();
+ String nsId = membership.getNameserviceId();
+ FederationNamespaceInfo nsInfo =
+ new FederationNamespaceInfo(bpId, cId, nsId);
+ this.activeNamespaces.add(nsInfo);
}
}
diff --git a/hadoop-hdfs-project/hadoop-hdfs-rbf/src/test/java/org/apache/hadoop/hdfs/server/federation/resolver/TestFederationNamespaceInfo.java b/hadoop-hdfs-project/hadoop-hdfs-rbf/src/test/java/org/apache/hadoop/hdfs/server/federation/resolver/TestFederationNamespaceInfo.java
deleted file mode 100644
index 7268123..0000000
--- a/hadoop-hdfs-project/hadoop-hdfs-rbf/src/test/java/org/apache/hadoop/hdfs/server/federation/resolver/TestFederationNamespaceInfo.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * 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.hdfs.server.federation.resolver;
-
-import org.junit.Test;
-
-import java.util.Set;
-import java.util.TreeSet;
-
-import static org.assertj.core.api.Assertions.assertThat;
-
-public class TestFederationNamespaceInfo {
- /**
- * Regression test for HDFS-15900.
- */
- @Test
- public void testHashCode() {
- Set<FederationNamespaceInfo> set = new TreeSet<>();
- // set an empty bpId first
- set.add(new FederationNamespaceInfo("", "nn1", "ns1"));
- set.add(new FederationNamespaceInfo("bp1", "nn2", "ns1"));
- assertThat(set).hasSize(2);
- }
-}
diff --git a/hadoop-hdfs-project/hadoop-hdfs-rbf/src/test/java/org/apache/hadoop/hdfs/server/federation/store/TestStateStoreMembershipState.java b/hadoop-hdfs-project/hadoop-hdfs-rbf/src/test/java/org/apache/hadoop/hdfs/server/federation/store/TestStateStoreMembershipState.java
index beb99d5..dd349da 100644
--- a/hadoop-hdfs-project/hadoop-hdfs-rbf/src/test/java/org/apache/hadoop/hdfs/server/federation/store/TestStateStoreMembershipState.java
+++ b/hadoop-hdfs-project/hadoop-hdfs-rbf/src/test/java/org/apache/hadoop/hdfs/server/federation/store/TestStateStoreMembershipState.java
@@ -33,16 +33,12 @@ import static org.junit.Assert.assertTrue;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
-import java.util.Set;
import java.util.concurrent.TimeUnit;
import org.apache.hadoop.hdfs.server.federation.resolver.FederationNamenodeServiceState;
-import org.apache.hadoop.hdfs.server.federation.resolver.FederationNamespaceInfo;
import org.apache.hadoop.hdfs.server.federation.router.RBFConfigKeys;
import org.apache.hadoop.hdfs.server.federation.store.protocol.GetNamenodeRegistrationsRequest;
import org.apache.hadoop.hdfs.server.federation.store.protocol.GetNamenodeRegistrationsResponse;
-import org.apache.hadoop.hdfs.server.federation.store.protocol.GetNamespaceInfoRequest;
-import org.apache.hadoop.hdfs.server.federation.store.protocol.GetNamespaceInfoResponse;
import org.apache.hadoop.hdfs.server.federation.store.protocol.NamenodeHeartbeatRequest;
import org.apache.hadoop.hdfs.server.federation.store.protocol.NamenodeHeartbeatResponse;
import org.apache.hadoop.hdfs.server.federation.store.protocol.UpdateNamenodeRegistrationRequest;
@@ -417,56 +413,6 @@ public class TestStateStoreMembershipState extends TestStateStoreBase {
assertEquals(FederationNamenodeServiceState.ACTIVE, quorumEntry.getState());
}
- @Test
- public void testNamespaceInfoWithUnavailableNameNodeRegistration()
- throws IOException {
- // Populate the state store with one ACTIVE NameNode entry
- // and one UNAVAILABLE NameNode entry
- // 1) ns0:nn0 - ACTIVE
- // 2) ns0:nn1 - UNAVAILABLE
- List<MembershipState> registrationList = new ArrayList<>();
- String router = ROUTERS[0];
- String ns = NAMESERVICES[0];
- String rpcAddress = "testrpcaddress";
- String serviceAddress = "testserviceaddress";
- String lifelineAddress = "testlifelineaddress";
- String blockPoolId = "testblockpool";
- String clusterId = "testcluster";
- String webScheme = "http";
- String webAddress = "testwebaddress";
- boolean safemode = false;
-
- MembershipState record = MembershipState.newInstance(
- router, ns, NAMENODES[0], clusterId, blockPoolId,
- rpcAddress, serviceAddress, lifelineAddress, webScheme,
- webAddress, FederationNamenodeServiceState.ACTIVE, safemode);
- registrationList.add(record);
-
- // Set empty clusterId and blockPoolId for UNAVAILABLE NameNode
- record = MembershipState.newInstance(
- router, ns, NAMENODES[1], "", "",
- rpcAddress, serviceAddress, lifelineAddress, webScheme,
- webAddress, FederationNamenodeServiceState.UNAVAILABLE, safemode);
- registrationList.add(record);
-
- registerAndLoadRegistrations(registrationList);
-
- GetNamespaceInfoRequest request = GetNamespaceInfoRequest.newInstance();
- GetNamespaceInfoResponse response
- = membershipStore.getNamespaceInfo(request);
- Set<FederationNamespaceInfo> namespaces = response.getNamespaceInfo();
-
- // Verify only one namespace is registered
- assertEquals(1, namespaces.size());
-
- // Verify the registered namespace has a valid pair of clusterId
- // and blockPoolId derived from ACTIVE NameNode
- FederationNamespaceInfo namespace = namespaces.iterator().next();
- assertEquals(ns, namespace.getNameserviceId());
- assertEquals(clusterId, namespace.getClusterId());
- assertEquals(blockPoolId, namespace.getBlockPoolId());
- }
-
/**
* Get a single namenode membership record from the store.
*
---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org