/** * Starts sending/receiving our list of differences to/from the remote endpoint: creates a callback * that will be called out of band once the streams complete. */ void performStreamingRepair() { InetAddress local = FBUtilities.getBroadcastAddress(); // We can take anyone of the node as source or destination, however if one is localhost, we put at source to avoid a forwarding InetAddress src = r2.endpoint.equals(local) ? r2.endpoint : r1.endpoint; InetAddress dst = r2.endpoint.equals(local) ? r1.endpoint : r2.endpoint; SyncRequest request = new SyncRequest(desc, local, src, dst, differences); StreamingRepairTask task = new StreamingRepairTask(desc, request); task.run(); }
public void run() { if (request.src.equals(FBUtilities.getBroadcastAddress())) initiateStreaming(); else forwardToSource(); }
repairedAt = ActiveRepairService.instance.getParentRepairSession(desc.parentSessionId).getRepairedAt(); StreamingRepairTask task = new StreamingRepairTask(desc, request, repairedAt); task.run(); break;
repairedAt = ActiveRepairService.instance.getParentRepairSession(desc.parentSessionId).getRepairedAt(); StreamingRepairTask task = new StreamingRepairTask(desc, request, repairedAt); task.run(); break;
repairedAt = ActiveRepairService.instance.getParentRepairSession(desc.parentSessionId).getRepairedAt(); StreamingRepairTask task = new StreamingRepairTask(desc, request, repairedAt); task.run(); break;
StreamingRepairTask task = new StreamingRepairTask(desc, request); task.run(); break;