func getConsumerGroupByTopic()

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
}