albertogpz commented on pull request #784:
URL: https://github.com/apache/geode-native/pull/784#issuecomment-819627266
> * This matches the behavior of the Java client
>
> * Our current code to "tack on" values that we don't have metadata
> for will sometimes result in EventIds reaching a server out-of-order,
> causing them to be dropped and resulting in data loss. Resorting
> to multi-hop avoids this altogether.
I agree with this solution as it fixes a problem in the Native client and
aligns the behavior of the native and Java clients.
Nevertheless, I think the comment in the Java client for
ClientMetadata::groupByServerToBuckets() should be changed as it is not aligned
with the code. This is extracted from ClientMetada.java
/**
* This function should make a map of server to buckets it is hosting. If
for some bucket servers
* are not available due to mismatch in metadata it should fill up a
random server for it.
*/
private Map<ServerLocation, Set<Integer>> groupByServerToBuckets(
ClientPartitionAdvisor prAdvisor, Set<Integer> bucketSet, boolean
primaryOnly,
Region region) {
...
It should say:
"If for some bucket servers are not available due to mismatch in metadata,
if singleHop, it should return null. Otherwise, it should fill up a random
server for it."
--
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.
For queries about this service, please contact Infrastructure at:
[email protected]