Github user belliottsmith commented on a diff in the pull request:
https://github.com/apache/cassandra/pull/269#discussion_r218387370
--- Diff: src/java/org/apache/cassandra/streaming/StreamPlan.java ---
@@ -70,6 +70,16 @@ public StreamPlan(StreamOperation streamOperation, int
connectionsPerHost,
/**
* Request data in {@code keyspace} and {@code ranges} from specific
node.
*
+ * Here, we have to encode both _local_ range transientness (encoded
in Replica itself, in RangesAtEndpoint)
+ * and _remote_ (source) range transientmess, which is encoded by
splitting ranges into full and transient.
+ *
+ * At the other end the distinction between full and transient is
ignored it just used the transient status
+ * of the Replica objects we send to determine what to send. The real
reason we have this split down to
--- End diff --
"At the other end the distinction between full and transient is ignored it
just used the transient status of the Replica objects we send to determine what
to send"
This isn't terribly clear - perhaps
"At the other end the distinction between full and transient is ignored; it
is used only to create the Replica objects that are used to determine what to
send"
This does raise the question of whether we should be sending Replica
objects at all? Presumably we *do* look at the transient/full status, in some
way? Or do we only care about the Range<Token>? In which case, perhaps we
should just send that, and avoid the confusion?
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]