HBASE-24398 [hbase-operator-tools] Fix RegionsMerger ConcurrentModificationException #60

Signed-off-by: Wellington Chevreuil <wchevreuil@apache.org>
diff --git a/hbase-tools/src/main/java/org/apache/hbase/RegionsMerger.java b/hbase-tools/src/main/java/org/apache/hbase/RegionsMerger.java
index afe3ab4..dd23abb 100644
--- a/hbase-tools/src/main/java/org/apache/hbase/RegionsMerger.java
+++ b/hbase-tools/src/main/java/org/apache/hbase/RegionsMerger.java
@@ -25,10 +25,9 @@
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.Future;
 import java.util.concurrent.atomic.LongAdder;
 
@@ -168,7 +167,7 @@
       LongAdder lastTimeProgessed = new LongAdder();
       //need to get all regions for the table, regardless of region state
       List<RegionInfo> regions = admin.getRegions(table);
-      Map<Future, Pair<RegionInfo, RegionInfo>> regionsMerging = new HashMap<>();
+      Map<Future, Pair<RegionInfo, RegionInfo>> regionsMerging = new ConcurrentHashMap<>();
       long roundsNoProgress = 0;
       while (regions.size() > targetRegions) {
         LOG.info("Iteration: {}", counter);