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]