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]


Reply via email to