|
@@ -84,7 +84,10 @@ type ClusterAdmin interface {
|
|
|
|
|
|
ListConsumerGroupOffsets(group string, topicPartitions map[string][]int32) (*OffsetFetchResponse, error)
|
|
|
|
|
|
-
|
|
|
+
|
|
|
+ DeleteConsumerGroup(group string) error
|
|
|
+
|
|
|
+
|
|
|
DescribeCluster() (brokers []*Broker, controllerID int32, err error)
|
|
|
|
|
|
|
|
@@ -614,3 +617,30 @@ func (ca *clusterAdmin) ListConsumerGroupOffsets(group string, topicPartitions m
|
|
|
|
|
|
return coordinator.FetchOffset(request)
|
|
|
}
|
|
|
+
|
|
|
+func (ca *clusterAdmin) DeleteConsumerGroup(group string) error {
|
|
|
+ coordinator, err := ca.client.Coordinator(group)
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+
|
|
|
+ request := &DeleteGroupsRequest{
|
|
|
+ Groups: []string{group},
|
|
|
+ }
|
|
|
+
|
|
|
+ resp, err := coordinator.DeleteGroups(request)
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+
|
|
|
+ groupErr, ok := resp.GroupErrorCodes[group]
|
|
|
+ if !ok {
|
|
|
+ return ErrIncompleteResponse
|
|
|
+ }
|
|
|
+
|
|
|
+ if groupErr != ErrNoError {
|
|
|
+ return groupErr
|
|
|
+ }
|
|
|
+
|
|
|
+ return nil
|
|
|
+}
|