sorting ACL list results to keep stable order on different calls

This commit is contained in:
iliax 2023-05-12 12:53:04 +04:00
parent dd5d0cd421
commit 1c29bcb056

View file

@ -3,6 +3,7 @@ package com.provectus.kafka.ui.service.acl;
import com.google.common.collect.Sets; import com.google.common.collect.Sets;
import com.provectus.kafka.ui.model.KafkaCluster; import com.provectus.kafka.ui.model.KafkaCluster;
import com.provectus.kafka.ui.service.AdminClientService; import com.provectus.kafka.ui.service.AdminClientService;
import java.util.Comparator;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
@ -39,7 +40,8 @@ public class AclsService {
public Flux<AclBinding> listAcls(KafkaCluster cluster, ResourcePatternFilter filter) { public Flux<AclBinding> listAcls(KafkaCluster cluster, ResourcePatternFilter filter) {
return adminClientService.get(cluster) return adminClientService.get(cluster)
.flatMap(c -> c.listAcls(filter)) .flatMap(c -> c.listAcls(filter))
.flatMapIterable(acls -> acls); .flatMapIterable(acls -> acls)
.sort(Comparator.comparing(AclBinding::toString)); //sorting to keep stable order on different calls
} }
public Mono<String> getAclAsCsvString(KafkaCluster cluster) { public Mono<String> getAclAsCsvString(KafkaCluster cluster) {