in pkg/controller/topictransfer/topictransfer_controller.go [326:347]
func getConsumerGroupByTopic(topic string, nameServer string) []string {
var consumerGroups []string
topicListCmd := buildTopicListCommand(nameServer)
cmd := exec.Command(cons.BasicCommand, cons.AdminToolDir, topicListCmd)
output, err := cmd.Output()
if err != nil || !isTopicListSuccess(string(output)) {
log.Error(err, "Failed to list topic with output: "+string(output))
return nil
}
log.Info("topicListCmd output: " + string(output))
lines := strings.Split(string(output), "\n")
for i := 1; i < len(lines); i++ {
fields := strings.Fields(strings.TrimSpace(lines[i]))
if len(fields) >= cons.TopicListConsumerGroup {
if fields[cons.TopicListTopic] == topic {
consumerGroups = append(consumerGroups, fields[cons.TopicListConsumerGroup])
}
}
}
return consumerGroups
}