MCPcopy Create free account
hub / github.com/IBM/sarama / describeClusterUsingAPI

Method describeClusterUsingAPI

admin.go:403–433  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

401}
402
403func (ca *clusterAdmin) describeClusterUsingAPI() (brokers []*Broker, controllerID int32, err error) {
404 var response *DescribeClusterResponse
405 err = ca.retryOnError(isRetriableControllerError, func() error {
406 controller, err := ca.Controller()
407 if err != nil {
408 return err
409 }
410
411 request := NewDescribeClusterRequest(ca.conf.Version)
412 response, err = controller.DescribeCluster(request)
413 if err != nil {
414 return err
415 }
416 if !errors.Is(response.Err, ErrNoError) {
417 if isRetriableControllerError(response.Err) {
418 _, _ = ca.refreshController()
419 }
420 if response.ErrorMessage != nil && *response.ErrorMessage != "" {
421 return fmt.Errorf("%w: %s", response.Err, *response.ErrorMessage)
422 }
423 return response.Err
424 }
425 return nil
426 })
427 if err != nil {
428 return nil, 0, err
429 }
430
431 brokers = convertDescribeClusterBrokers(response.Brokers)
432 return brokers, response.ControllerID, nil
433}
434
435func (ca *clusterAdmin) describeClusterUsingMetadata() (brokers []*Broker, controllerID int32, err error) {
436 var response *MetadataResponse

Callers 1

DescribeClusterMethod · 0.95

Calls 9

retryOnErrorMethod · 0.95
ControllerMethod · 0.95
refreshControllerMethod · 0.95
IsMethod · 0.80
DescribeClusterMethod · 0.65
ErrorfMethod · 0.65

Tested by

no test coverage detected