Skip to content

Connector listing fails silently with no error logging or UI indication #1963

Open

Description

@HurSungYun

Issue submitter TODO list

  • I've looked up my issue in FAQ
  • I've searched for an already existing issues here
  • I've tried running main-labeled docker image and the issue still persists there
  • I'm running a supported version of the application which is listed here

Describe the bug (actual behavior)

When the connector listing fails, kafbat UI renders an empty list and logs nothing.

api/src/main/java/io/kafbat/ui/service/KafkaConnectService.java:195-197:

// returns empty flux if there was an error communicating with Connect
public Mono<Map<String, ExpandedConnector>> getConnectorsWithErrorsSuppress(
    KafkaCluster cluster, String connectName) {
  return getConnectors(cluster, connectName).onErrorComplete();
}

onErrorComplete() discards the error before anything can log or display it. The class is annotated
@Slf4j, but the logger is never used on this path.

Expected behavior

At minimum, I believe the error should be logged.

Your installation details

  1. App version -> dfa5a7e
  2. Config format
kafka:
  clusters:
    - name: <cluster>
      bootstrapServers: <redacted>
      kafkaConnect:
        - name: <connect-cluster>
          address: http://<connect-host>

Steps to reproduce

  1. Register a Kafka Connect cluster in kafbat UI (kafka.clusters[].kafkaConnect[]).
  2. Register a connector whose connector.class is not present in the worker image — e.g.
    io.confluent.connect.s3.S3SinkConnector on a worker without the S3 plugin. In the wild this
    happens when a worker image upgrade drops a plugin while the connector config remains in the
    config storage topic.
  3. Keep at least one healthy connector in the same Connect cluster.
  4. Confirm the asymmetry against the Connect REST API directly:
$ curl -s <connect>/connectors
["bigquery-connector","s3-sink-connector"]     # 200 - both are registered and listed, because
                                               # names alone need no class loading.
                                               # note: the S3 plugin is NOT in the worker image,
                                               # yet s3-sink-connector still shows up here

$ curl -s -o /dev/null -w "%{http_code}\n" '<connect>/connectors?expand=info&expand=status'
500                                            # the exact same two connectors, but each entry now
                                               # carries `type`, so every class must resolve -
                                               # s3-sink-connector's cannot, and that one failure
                                               # takes down the entire response
  1. Open the Connect tab for that cluster in kafbat UI.

Result: the list is empty, as if the cluster had no connectors at all. The healthy
bigquery-connector is not shown either. Nothing appears in the application log.

Screenshots

No response

Logs

No response

Additional context

the underlying fault is on the Kafka Connect side (a stale connector registration whose plugin is no longer in the worker image), and the all-or-nothing behaviour of the expanded listing endpoint is Connect's own design. If you consider this something that belongs in Connect rather than in kafbat UI, please feel free to close this issue.

Activity

  1. kapybro commented on Aug 26, 2026

    @kapybro

    AI Summary

    The issue describes a problem in Kafbat where connector listing errors are silently suppressed, resulting in an empty UI list and no logs. The root cause is the use of onErrorComplete() in the getConnectorsWithErrorsSuppress method, which discards errors before they can be logged or displayed. The expected behavior is to log the error, and the problem occurs when a connector's class is missing from the worker image, causing the Connect REST API to fail. The issue suggests logging the error as a minimum fix.

  2. changed the title [-]Connect listing errors are invisible — no log, no UI indication[/-] [+]Connector listing fails silently with no error logging or UI indication[/+] on Aug 26, 2026
  3. added
    area/connectKafka Connect, its connectors
    impact/documentationA PR with changes which should be addressed in the documentation
    on Aug 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/connectKafka Connect, its connectorsimpact/documentationA PR with changes which should be addressed in the documentationstatus/triageIssues pending maintainers triagetype/bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions