protected void startSync(List<Range<Token>> differences) { InetAddress local = FBUtilities.getBroadcastAddress(); SyncRequest request = new SyncRequest(desc, local, r1.endpoint, r2.endpoint, differences); String message = String.format("Forwarding streaming repair of %d ranges to %s (to be streamed with %s)", request.ranges.size(), request.src, request.dst); logger.info("[repair #{}] {}", desc.sessionId, message); Tracing.traceRepair(message); MessagingService.instance().sendOneWay(request.createMessage(), request.src); }
/** * 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(); }
private void forwardToSource() { logger.info(String.format("[repair #%s] Forwarding streaming repair of %d ranges to %s (to be streamed with %s)", desc.sessionId, request.ranges.size(), request.src, request.dst)); MessagingService.instance().sendOneWay(request.createMessage(), request.src); }
public SyncRequest deserialize(DataInput in, int version) throws IOException { RepairJobDesc desc = RepairJobDesc.serializer.deserialize(in, version); InetAddress owner = CompactEndpointSerializationHelper.deserialize(in); InetAddress src = CompactEndpointSerializationHelper.deserialize(in); InetAddress dst = CompactEndpointSerializationHelper.deserialize(in); int rangesCount = in.readInt(); List<Range<Token>> ranges = new ArrayList<>(rangesCount); for (int i = 0; i < rangesCount; ++i) ranges.add((Range<Token>) AbstractBounds.serializer.deserialize(in, version).toTokenBounds()); return new SyncRequest(desc, owner, src, dst, ranges); }
protected void startSync(List<Range<Token>> differences) { InetAddress local = FBUtilities.getBroadcastAddress(); SyncRequest request = new SyncRequest(desc, local, r1.endpoint, r2.endpoint, differences); String message = String.format("Forwarding streaming repair of %d ranges to %s (to be streamed with %s)", request.ranges.size(), request.src, request.dst); logger.info("[repair #{}] {}", desc.sessionId, message); Tracing.traceRepair(message); MessagingService.instance().sendOneWay(request.createMessage(), request.src); }
public SyncRequest deserialize(DataInputPlus in, int version) throws IOException { RepairJobDesc desc = RepairJobDesc.serializer.deserialize(in, version); InetAddress owner = CompactEndpointSerializationHelper.deserialize(in); InetAddress src = CompactEndpointSerializationHelper.deserialize(in); InetAddress dst = CompactEndpointSerializationHelper.deserialize(in); int rangesCount = in.readInt(); List<Range<Token>> ranges = new ArrayList<>(rangesCount); for (int i = 0; i < rangesCount; ++i) ranges.add((Range<Token>) AbstractBounds.tokenSerializer.deserialize(in, MessagingService.globalPartitioner(), version)); return new SyncRequest(desc, owner, src, dst, ranges); }
protected void startSync(List<Range<Token>> differences) { InetAddress local = FBUtilities.getBroadcastAddress(); SyncRequest request = new SyncRequest(desc, local, r1.endpoint, r2.endpoint, differences); String message = String.format("Forwarding streaming repair of %d ranges to %s (to be streamed with %s)", request.ranges.size(), request.src, request.dst); logger.info("[repair #{}] {}", desc.sessionId, message); Tracing.traceRepair(message); MessagingService.instance().sendOneWay(request.createMessage(), request.src); }
public SyncRequest deserialize(DataInputPlus in, int version) throws IOException { RepairJobDesc desc = RepairJobDesc.serializer.deserialize(in, version); InetAddress owner = CompactEndpointSerializationHelper.deserialize(in); InetAddress src = CompactEndpointSerializationHelper.deserialize(in); InetAddress dst = CompactEndpointSerializationHelper.deserialize(in); int rangesCount = in.readInt(); List<Range<Token>> ranges = new ArrayList<>(rangesCount); for (int i = 0; i < rangesCount; ++i) ranges.add((Range<Token>) AbstractBounds.tokenSerializer.deserialize(in, MessagingService.globalPartitioner(), version)); return new SyncRequest(desc, owner, src, dst, ranges); }
public SyncRequest deserialize(DataInputPlus in, int version) throws IOException { RepairJobDesc desc = RepairJobDesc.serializer.deserialize(in, version); InetAddress owner = CompactEndpointSerializationHelper.deserialize(in); InetAddress src = CompactEndpointSerializationHelper.deserialize(in); InetAddress dst = CompactEndpointSerializationHelper.deserialize(in); int rangesCount = in.readInt(); List<Range<Token>> ranges = new ArrayList<>(rangesCount); for (int i = 0; i < rangesCount; ++i) ranges.add((Range<Token>) AbstractBounds.tokenSerializer.deserialize(in, MessagingService.globalPartitioner(), version)); return new SyncRequest(desc, owner, src, dst, ranges); }