dlmarion commented on code in PR #5530:
URL: https://github.com/apache/accumulo/pull/5530#discussion_r2102767209


##########
server/manager/src/main/java/org/apache/accumulo/manager/Manager.java:
##########
@@ -1918,10 +1918,20 @@ public boolean isUpgrading() {
   }
 
   void initializeBalancer() {
-    var localTabletBalancer = 
Property.createInstanceFromPropertyName(getConfiguration(),
-        Property.MANAGER_TABLET_BALANCER, TabletBalancer.class, new 
TableLoadBalancer());
-    localTabletBalancer.init(balancerEnvironment);
-    tabletBalancer = localTabletBalancer;
+    try {
+      getContext().getPropStore().getCache().removeAll();

Review Comment:
   I commented out the two cache invalidation lines and I think I found the 
issue. When BrokenBalancerIT changes the system property to use the broken 
balancer 
[here](https://github.com/apache/accumulo/blob/2.1/test/src/main/java/org/apache/accumulo/test/BrokenBalancerIT.java#L115),
 it ends up calling code 
[here](https://github.com/apache/accumulo/blob/2.1/test/src/main/java/org/apache/accumulo/test/BrokenBalancerIT.java#L115)
 that changes the property in ZooKeeper, then calls `updatePlugins` which calls 
`initializeBalancer`. If you look at the log messages (below), you will see 
that the property being set, then the watcher firing that puts a Runnable on 
the ExecutorService, then the balancer being initialized, then the Runnable 
executing to update the internal state.
   
   ```
   2025-05-22T14:37:46,138 71 [impl.ZooPropStore] TRACE: mutateVersionedProps 
called for: SystemPropKey{InstanceId=a40ea124-8c5a-45ac-b54f-07fcde3a0f33}
   2025-05-22T14:37:46,140 28 [impl.PropStoreWatcher] TRACE: handle change 
event for path: /accumulo/a40ea124-8c5a-45ac-b54f-07fcde3a0f33/config
   2025-05-22T14:37:46,140 28 [impl.PropStoreWatcher] TRACE: signal ZooKeeper 
change event: SystemPropKey{InstanceId=a40ea124-8c5a-45ac-b54f-07fcde3a0f33}
   2025-05-22T14:37:46,140 28 [impl.PropStoreWatcher] TRACE: Sending change 
event to: [org.apache.accumulo.server.conf.util.PropSnapshot@67d0f15a, 
org.apache.accumulo.server.conf.store.impl.ZooPropStore@5dbf0508]
   2025-05-22T14:37:46,140 71 [conf.SystemConfiguration] TRACE: system config 
get() - property request for manager.tablet.balancer
   2025-05-22T14:37:46,140 71 [manager.Manager] DEBUG: Attempting to 
reinitialize balancer using class 
org.apache.accumulo.core.spi.balancer.TableLoadBalancer
   2025-05-22T14:37:46,140 71 [conf.SystemConfiguration] TRACE: system config 
get() - property request for manager.tablet.balancer
   2025-05-22T14:37:46,140 71 [manager.Manager] INFO : tablet balancer changed 
to org.apache.accumulo.core.spi.balancer.TableLoadBalancer
   2025-05-22T14:37:46,140 169 [util.PropSnapshot] DEBUG: Saw zk change event 
for SystemPropKey{InstanceId=a40ea124-8c5a-45ac-b54f-07fcde3a0f33} - update 
properties required
   2025-05-22T14:37:46,140 169 [impl.ZooPropStore] TRACE: Received change event 
from ZooKeeper for: 
SystemPropKey{InstanceId=a40ea124-8c5a-45ac-b54f-07fcde3a0f33} removed from 
cache
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscr...@accumulo.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to