Jerry Cai created KAFKA-17755: --------------------------------- Summary: AbstractPartitionAssignor can not enable Rack Aware Assignment Key: KAFKA-17755 URL: https://issues.apache.org/jira/browse/KAFKA-17755 Project: Kafka Issue Type: Bug Components: consumer Affects Versions: 3.8.0 Reporter: Jerry Cai
During my local test and debug, I noticed that the below logical is in correct, it need to change from !racksPerPartition.values().stream().allMatch(partitionRacks::equals) to racksPerPartition.values().stream().allMatch(partitionRacks::equals) current logical {code:java} protected boolean useRackAwareAssignment(Set<String> consumerRacks, Set<String> partitionRacks, Map<TopicPartition, Set<String>> racksPerPartition) { if (consumerRacks.isEmpty() || Collections.disjoint(consumerRacks, partitionRacks)) return false; else if (preferRackAwareLogic) return true; else { return !racksPerPartition.values().stream().allMatch(partitionRacks::equals); } } {code} expected logical {code:java} protected boolean useRackAwareAssignment(Set<String> consumerRacks, Set<String> partitionRacks, Map<TopicPartition, Set<String>> racksPerPartition) { if (consumerRacks.isEmpty() || Collections.disjoint(consumerRacks, partitionRacks)) return false; else if (preferRackAwareLogic) return true; else { return racksPerPartition.values().stream().allMatch(partitionRacks::equals); } } {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)