keith-turner commented on code in PR #5419:
URL: https://github.com/apache/accumulo/pull/5419#discussion_r2004311942


##########
server/manager/src/main/java/org/apache/accumulo/manager/Manager.java:
##########
@@ -1402,7 +1395,11 @@ boolean canSuspendTablets() {
       log.info("AuthenticationTokenSecretManager is initialized");
     }
 
-    UUID uuid = sld.getServerUUID(ThriftService.MANAGER);
+    // Replace the ServiceLockData informion in the Manager lock node in 
ZooKeeper.

Review Comment:
   ```suggestion
       // Replace the ServiceLockData information in the Manager lock node in 
ZooKeeper.
   ```



##########
server/manager/src/main/java/org/apache/accumulo/manager/Manager.java:
##########
@@ -1146,14 +1139,9 @@ public void run() {
     managerClientHandler = new ManagerClientServiceHandler(this);
     compactionCoordinator = new CompactionCoordinator(context, security, 
fateRefs, this);
 
-    // Start the Manager's Client service
-    // Ensure that calls before the manager gets the lock fail
-    ManagerClientService.Iface haProxy =
-        HighlyAvailableServiceWrapper.service(managerClientHandler, this);

Review Comment:
   Realized we could have a situation like the following where a client 
contacts a manager that does not yet hold a lock.
   
    1. Manager1 starts, gets its lock and advertises itself
    2. Client1 get the address of Manager1
    3. Manager1 dies
    4. Manager2 starts and creates its client service w/ the same host/port as 
Manager1, but does not get its lock
    5. Client1 makes an RPC request to Manager2 using the host:port it got for 
Manager1
   
   Is there anything besides this HighlyAvailableService code that will make 
the RPC above fail?  If not we may need to keep this or move starting the 
client service until after the lock is obtained.   
   
   We could keep the HighlyAvailableService for safety and delay advertisement 
to have clean logs in the normal case.  If moving where the client service 
starts to after the lock is obtained is easy, then that removes the needs for 
the HighlyAvailableService



-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to