You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by pa...@apache.org on 2020/09/04 17:52:16 UTC
[hbase] branch branch-2.3 updated: HBASE-24719: Renaming invalid
rsgroup throws NPE instead of proper error message (#2074)
This is an automated email from the ASF dual-hosted git repository.
pankajkumar pushed a commit to branch branch-2.3
in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/branch-2.3 by this push:
new 8218087 HBASE-24719: Renaming invalid rsgroup throws NPE instead of proper error message (#2074)
8218087 is described below
commit 8218087a7c0a5bd9ea6f6e4fa072fa27a0b16905
Author: Mohammad Arshad <ar...@apache.org>
AuthorDate: Fri Sep 4 23:04:32 2020 +0530
HBASE-24719: Renaming invalid rsgroup throws NPE instead of proper error message (#2074)
Signed-off-by: Pankaj Kumar<pa...@apache.org>
(cherry picked from commit aac21aebec3e592705b2bbe4b36fc5db97ff9b5e)
---
.../org/apache/hadoop/hbase/rsgroup/RSGroupInfoManagerImpl.java | 5 ++++-
.../java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsAdmin1.java | 8 ++++++++
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupInfoManagerImpl.java b/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupInfoManagerImpl.java
index e6d8ab2..cfdfec4 100644
--- a/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupInfoManagerImpl.java
+++ b/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupInfoManagerImpl.java
@@ -403,11 +403,14 @@ final class RSGroupInfoManagerImpl implements RSGroupInfoManager {
if (oldName.equals(RSGroupInfo.DEFAULT_GROUP)) {
throw new ConstraintException("Can't rename default rsgroup");
}
+ RSGroupInfo oldGroup = getRSGroup(oldName);
+ if (oldGroup == null) {
+ throw new ConstraintException("RSGroup " + oldName + " does not exist");
+ }
if (rsGroupMap.containsKey(newName)) {
throw new ConstraintException("Group already exists: " + newName);
}
- RSGroupInfo oldGroup = getRSGroup(oldName);
Map<String,RSGroupInfo> newGroupMap = Maps.newHashMap(rsGroupMap);
newGroupMap.remove(oldName);
RSGroupInfo newGroup = new RSGroupInfo(newName,
diff --git a/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsAdmin1.java b/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsAdmin1.java
index 8a7da6c..18611b2 100644
--- a/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsAdmin1.java
+++ b/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsAdmin1.java
@@ -558,6 +558,14 @@ public class TestRSGroupsAdmin1 extends TestRSGroupsBase {
assertNotNull(anotherGroup);
assertEquals(1, anotherGroup.getServers().size());
+ //Rename a non existing RSGroup
+ try {
+ rsGroupAdmin.renameRSGroup("nonExistingRSGroup", "newRSGroup1");
+ fail("ConstraintException was expected.");
+ } catch (ConstraintException e) {
+ assertTrue(e.getMessage().contains("does not exist"));
+ }
+
//Rename to existing group
try {
rsGroupAdmin.renameRSGroup(oldGroup.getName(), anotherRSGroupName);