Class StreamFromOptions

java.lang.Object
org.apache.cassandra.repair.asymmetric.StreamFromOptions

public class StreamFromOptions extends Object
Keeps track of where a node needs to stream a given range from. If the remote range is identical on several remote nodes, this class keeps track of them These stream from options get 'split' during denormalization - for example if we track range (100, 200] and we find a new differing range (180, 200] - then the denormalization will create two new StreamFromOptions (see copy below) with the same streamOptions, one with range (100, 180] and one with (180, 200] - then it adds the new incoming difference to the StreamFromOptions for the new range (180, 200].
  • Constructor Details

  • Method Details

    • add

      public void add(InetAddressAndPort streamFromNode)
      Add new node to the stream options If we have no difference between the new node and a currently tracked on, we know they are matching over the range we are tracking, then just add it to the set with the identical remote nodes. Otherwise create a new group of nodes containing this new node.
    • copy

      public StreamFromOptions copy(Range<Token> withRange)
    • allStreams

      public Iterable<Set<InetAddressAndPort>> allStreams()
    • toString

      public String toString()
      Overrides:
      toString in class Object