This is an automated email from the ASF dual-hosted git repository.

ddanielr pushed a commit to branch bugfix/remove-SingleTableConstructor
in repository https://gitbox.apache.org/repos/asf/accumulo.git

commit 0b3938cf2860a0a0535ec39665c39b385cbd227b
Author: Daniel Roberts ddanielr <ddani...@gmail.com>
AuthorDate: Wed Feb 26 22:13:24 2025 +0000

    Remove tableId constructor for SimpleLoadBalancer
    
    Removes the single tableId constructor for SimpleLoadBalancer as it is
    no longer needed with the addition of the tablesToBalance map to the
    balancerParams.
---
 .../accumulo/core/spi/balancer/SimpleLoadBalancer.java | 18 +-----------------
 .../accumulo/core/spi/balancer/TableLoadBalancer.java  |  9 ++++-----
 .../core/spi/balancer/TableLoadBalancerTest.java       |  8 ++------
 3 files changed, 7 insertions(+), 28 deletions(-)

diff --git 
a/core/src/main/java/org/apache/accumulo/core/spi/balancer/SimpleLoadBalancer.java
 
b/core/src/main/java/org/apache/accumulo/core/spi/balancer/SimpleLoadBalancer.java
index 068e12bfcf..135cb4244c 100644
--- 
a/core/src/main/java/org/apache/accumulo/core/spi/balancer/SimpleLoadBalancer.java
+++ 
b/core/src/main/java/org/apache/accumulo/core/spi/balancer/SimpleLoadBalancer.java
@@ -66,15 +66,9 @@ public class SimpleLoadBalancer implements TabletBalancer {
   protected BalancerEnvironment environment;
 
   Iterator<TabletServerId> assignments;
-  // if tableToBalance is set, then only balance the given table
-  TableId tableToBalance = null;
 
   public SimpleLoadBalancer() {}
 
-  public SimpleLoadBalancer(TableId table) {
-    tableToBalance = table;
-  }
-
   @Override
   public void init(BalancerEnvironment balancerEnvironment) {
     this.environment = balancerEnvironment;
@@ -167,13 +161,7 @@ public class SimpleLoadBalancer implements TabletBalancer {
         int serverTotal = 0;
         if (entry.getValue() != null && entry.getValue().getTableMap() != 
null) {
           for (Entry<String,TableStatistics> e : 
entry.getValue().getTableMap().entrySet()) {
-            /*
-             * The check below was on entry.getKey(), but that resolves to a 
tabletserver not a
-             * tablename. Believe it should be e.getKey() which is a tablename
-             */
-            if (tableToBalance == null || 
tableToBalance.canonical().equals(e.getKey())) {
-              serverTotal += e.getValue().getOnlineTabletCount();
-            }
+            serverTotal += e.getValue().getOnlineTabletCount();
           }
         }
         totals.add(new ServerCounts(serverTotal, entry.getKey(), 
entry.getValue()));
@@ -288,10 +276,6 @@ public class SimpleLoadBalancer implements TabletBalancer {
   private TableId getTableToMigrate(ServerCounts tooMuch, Map<TableId,Integer> 
tooMuchMap,
       Map<TableId,Integer> tooLittleMap) {
 
-    if (tableToBalance != null) {
-      return tableToBalance;
-    }
-
     // find a table to migrate
     // look for an uneven table count
     Entry<TableId,Integer> biggestEntry = 
tooMuchMap.entrySet().stream().map(entry -> {
diff --git 
a/core/src/main/java/org/apache/accumulo/core/spi/balancer/TableLoadBalancer.java
 
b/core/src/main/java/org/apache/accumulo/core/spi/balancer/TableLoadBalancer.java
index 94e10960a3..1e7c52d89a 100644
--- 
a/core/src/main/java/org/apache/accumulo/core/spi/balancer/TableLoadBalancer.java
+++ 
b/core/src/main/java/org/apache/accumulo/core/spi/balancer/TableLoadBalancer.java
@@ -74,8 +74,8 @@ public class TableLoadBalancer implements TabletBalancer {
     String context = environment.tableContext(tableId);
     Class<? extends TabletBalancer> clazz =
         ClassLoaderUtil.loadClass(context, clazzName, TabletBalancer.class);
-    Constructor<? extends TabletBalancer> constructor = 
clazz.getConstructor(TableId.class);
-    return constructor.newInstance(tableId);
+    Constructor<? extends TabletBalancer> constructor = clazz.getConstructor();
+    return constructor.newInstance();
   }
 
   protected String getLoadBalancerClassNameForTable(TableId table) {
@@ -124,9 +124,8 @@ public class TableLoadBalancer implements TabletBalancer {
       }
 
       if (balancer == null) {
-        log.info("Creating balancer {} limited to balancing table {}",
-            SimpleLoadBalancer.class.getName(), tableId);
-        balancer = new SimpleLoadBalancer(tableId);
+        log.info("Creating balancer {} for table {}", 
SimpleLoadBalancer.class.getName(), tableId);
+        balancer = new SimpleLoadBalancer();
       }
       perTableBalancers.put(tableId, balancer);
       balancer.init(environment);
diff --git 
a/core/src/test/java/org/apache/accumulo/core/spi/balancer/TableLoadBalancerTest.java
 
b/core/src/test/java/org/apache/accumulo/core/spi/balancer/TableLoadBalancerTest.java
index 18ab400ac9..52b35af70d 100644
--- 
a/core/src/test/java/org/apache/accumulo/core/spi/balancer/TableLoadBalancerTest.java
+++ 
b/core/src/test/java/org/apache/accumulo/core/spi/balancer/TableLoadBalancerTest.java
@@ -104,10 +104,6 @@ public class TableLoadBalancerTest {
 
   public static class TestSimpleLoadBalancer extends SimpleLoadBalancer {
 
-    public TestSimpleLoadBalancer(TableId table) {
-      super(table);
-    }
-
     @Override
     public void init(BalancerEnvironment balancerEnvironment) {}
 
@@ -147,7 +143,7 @@ public class TableLoadBalancerTest {
     tls.init(environment);
     tls.balance(
         new BalanceParamsImpl(state, 
Map.of(Constants.DEFAULT_RESOURCE_GROUP_NAME, state.keySet()),
-            migrations, migrationsOut, DataLevel.USER, tableIdMap));
+            migrations, migrationsOut, DataLevel.USER, Map.of("t1", 
TableId.of(t1Id))));
     assertEquals(0, migrationsOut.size());
 
     state.put(mkts("10.0.0.2", 2345, "0x02030405"), status());
@@ -155,7 +151,7 @@ public class TableLoadBalancerTest {
     tls.init(environment);
     tls.balance(
         new BalanceParamsImpl(state, 
Map.of(Constants.DEFAULT_RESOURCE_GROUP_NAME, state.keySet()),
-            migrations, migrationsOut, DataLevel.USER, tableIdMap));
+            migrations, migrationsOut, DataLevel.USER, Map.of("t1", 
TableId.of(t1Id))));
     int count = 0;
     Map<TableId,Integer> movedByTable = new HashMap<>();
     movedByTable.put(TableId.of(t1Id), 0);

Reply via email to