Manno15 commented on a change in pull request #1803:
URL: https://github.com/apache/accumulo/pull/1803#discussion_r568523204
##########
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.
I am not sure yet if tls.last is guranteed. I or @tynyttie would have to do
more research on a bigger cluster to get to the bottom of this.
> 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.
Based on what I am reading, the Tserver side of recover is only called in
`Tablet.java`. This is after `RecoveryManager` is finishing do its side of te
work. Not sure how everything fits in to get the full picture yet.
----------------------------------------------------------------
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]