ctubbsii commented on a change in pull request #1803:
URL: https://github.com/apache/accumulo/pull/1803#discussion_r568151689
##########
File path:
server/manager/src/main/java/org/apache/accumulo/master/recovery/RecoveryManager.java
##########
@@ -148,6 +149,18 @@ private boolean exists(final Path path) throws IOException
{
}
}
+ public String getHostPort() {
+
+ String hostPort = "";
+ Set<TServerInstance> tserverInstances = master.onlineTabletServers();
+
+ if (tserverInstances.isEmpty() && tserverInstances.size() < 0) {
+ return hostPort = null;
+
+ } else
+ return hostPort = tserverInstances.stream().findFirst().get().toString();
+ }
+
Review comment:
@Manno15 If the question is directed at me: I don't, not without digging
into this to come up with a solution myself. If `tls.last` isn't guaranteed to
be the tserver that is going to be assigned this, and performing the recovery,
then that would not be appropriate either.
It seems to me that the basic requirement is that the manager must decide
the destination path, then somehow communicate that to the tserver that was
assigned to do the sorting work. If that tserver doesn't finish, then the
manager must decide on a new destination path, and communicate that to the next
tserver requested to do the work (possibly the same tserver, if it came back
online). For any given work order to sort the logs, the tserver must use the
directory specified, and presumably, the manager must be able to know which
ones have succeeded and which have failed. But, I'm really not that familiar
with the recovery process, and would have to do a lot of digging to understand
this more.
----------------------------------------------------------------
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.
For queries about this service, please contact Infrastructure at:
[email protected]