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 <[email protected]>
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<[email protected]>
(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);