bdeggleston commented on code in PR #4106:
URL: https://github.com/apache/cassandra/pull/4106#discussion_r2069091545
##########
src/java/org/apache/cassandra/replication/Shard.java:
##########
@@ -94,6 +109,42 @@ void addSummaryForRange(AbstractBounds<PartitionPosition>
range, boolean include
});
}
+ List<InetAddressAndPort> remoteReplicas()
+ {
+ List<InetAddressAndPort> replicas = new
ArrayList<>(participants.size() - 1);
+ for (int i = 0, size = participants.size(); i < size; ++i)
+ {
+ int hostId = participants.get(i);
+ if (hostId != localHostId)
+ replicas.add(ClusterMetadata.current().directory.endpoint(new
NodeId(hostId)));
+ }
+ return replicas;
+ }
+
+ /**
+ * Collects replicated offsets for the logs owned by this coordinator on
this shard.
+ */
+ ShardReplicatedOffsets collectReplicatedOffsets()
+ {
+ Long2ObjectHashMap<LogReplicatedOffsets> offsets = new
Long2ObjectHashMap<>();
+ for (CoordinatorLogPrimary log : primaryLogs())
Review Comment:
It seems like increasing the broadcast payload size by RF would _probably_
be negligible. It wouldn’t be optimally small of course, but it feels like
getting to a payload size that’s problematic would be difficult. Even then,
there are encoding tricks you could use that would be less work than adding a
new replica state.
Then regarding mutation transmission, I was thinking that replicas would
fetch their own missing mutations. I’m not sure what’s to be gained by staging
mutations on a reconciliation coordinator before transmitting them to the nodes
that need them. I guess you could more easily balance load between the replicas
you’re fetching mutations from.
--
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.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]