Skip to content

java.lang.IllegalStateException: Error while creating AdminClient for Cluster #1695

@marteloudini

Description

@marteloudini

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)

Hey,
i have the same issue, but with not SSL needed.
app.kubernetes.io/version: v1.4.2
helm.sh/chart: kafka-ui-1.6.0
im on windows 11; Podman Desktop; Kind.

I see the home page, but when i clic on Broker, Consumer, Topics i have white page ?? (cf logs error below)

i forward port for see on browser :

Image

my configmap kafka-ui:

   kafka:
      clusters:
        - name: my-cluster
          bootstrapServers: my-cluster-kafka-bootstrap:9092
    auth:
      type: disabled
    management:
      health:
        ldap:
          enabled: false

I see the home page, but when i clic on Broker, Consumer, Topics i have white page ?? (cf logs error below)

i have one topic (my-topic)
i have one consumer terminal actif
i have one producer terminal actif
i have 2 messages test.

My Deployment yaml from helm :

apiVersion: apps/v1
kind: Deployment
metadata:
  name: kafbat-ui-kafka-ui
  namespace: kafbat-ui
  uid: de7adf11-a4e7-4248-9a6d-cb949d6191e4
  resourceVersion: '283328'
  generation: 1
  creationTimestamp: '2026-02-17T14:30:24Z'
  labels:
    app.kubernetes.io/instance: kafbat-ui
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/name: kafka-ui
    app.kubernetes.io/version: v1.4.2
    helm.sh/chart: kafka-ui-1.6.0
  annotations:
    deployment.kubernetes.io/revision: '1'
    meta.helm.sh/release-name: kafbat-ui
    meta.helm.sh/release-namespace: kafbat-ui
  selfLink: /apis/apps/v1/namespaces/kafbat-ui/deployments/kafbat-ui-kafka-ui
status:
  observedGeneration: 1
  replicas: 1
  updatedReplicas: 1
  readyReplicas: 1
  availableReplicas: 1
  terminatingReplicas: 0
  conditions:
    - type: Progressing
      status: 'True'
      lastUpdateTime: '2026-02-17T14:30:56Z'
      lastTransitionTime: '2026-02-17T14:30:24Z'
      reason: NewReplicaSetAvailable
      message: ReplicaSet "kafbat-ui-kafka-ui-7955757f8d" has successfully progressed.
    - type: Available
      status: 'True'
      lastUpdateTime: '2026-02-19T07:24:03Z'
      lastTransitionTime: '2026-02-19T07:24:03Z'
      reason: MinimumReplicasAvailable
      message: Deployment has minimum availability.
spec:
  replicas: 1
  selector:
    matchLabels:
      app.kubernetes.io/instance: kafbat-ui
      app.kubernetes.io/name: kafka-ui
  template:
    metadata:
      labels:
        app.kubernetes.io/instance: kafbat-ui
        app.kubernetes.io/name: kafka-ui
      annotations:
        checksum/config: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        checksum/configFromValues: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
        checksum/secret: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
    spec:
      volumes:
        - name: kafka-ui-yaml-conf-configmap
          configMap:
            name: kafbat-ui-configmap
            defaultMode: 420
      containers:
        - name: kafka-ui
          image: ghcr.io/kafbat/kafka-ui:v1.4.2
          ports:
            - name: http
              containerPort: 8080
              protocol: TCP
          env:
            - name: SPRING_CONFIG_ADDITIONAL-LOCATION
              value: /kafka-ui/config.yml
          resources: {}
          volumeMounts:
            - name: kafka-ui-yaml-conf-configmap
              mountPath: /kafka-ui/
          livenessProbe:
            httpGet:
              path: /actuator/health
              port: http
              scheme: HTTP
            initialDelaySeconds: 10
            timeoutSeconds: 10
            periodSeconds: 30
            successThreshold: 1
            failureThreshold: 3
          readinessProbe:
            httpGet:
              path: /actuator/health
              port: http
              scheme: HTTP
            initialDelaySeconds: 10
            timeoutSeconds: 10
            periodSeconds: 30
            successThreshold: 1
            failureThreshold: 3
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          imagePullPolicy: IfNotPresent
          securityContext: {}
      restartPolicy: Always
      terminationGracePeriodSeconds: 30
      dnsPolicy: ClusterFirst
      serviceAccountName: kafbat-ui-kafka-ui
      serviceAccount: kafbat-ui-kafka-ui
      securityContext: {}
      schedulerName: default-scheduler
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxUnavailable: 25%
      maxSurge: 25%
  revisionHistoryLimit: 10
  progressDeadlineSeconds: 600

### my logs ERROR :

2026-02-19T08:07:30.278Z  WARN 1 --- [undedElastic-14] org.apache.kafka.clients.ClientUtils     : Couldn't resolve server my-cluster-kafka-bootstrap:9092 from bootstrap.servers as DNS resolution failed for my-cluster-kafka-bootstrap
2026-02-19T08:07:30.278Z ERROR 1 --- [   scheduling-1] o.s.s.s.TaskUtils$LoggingErrorHandler    : Unexpected error occurred in scheduled task

java.lang.IllegalStateException: Error while creating AdminClient for the cluster my-cluster
	at io.kafbat.ui.service.AdminClientServiceImpl.lambda$createAdminClient$5(AdminClientServiceImpl.java:62) ~[!/:v1.4.2]
	at reactor.core.publisher.Mono.lambda$onErrorMap$29(Mono.java:3862) ~[reactor-core-3.7.12.jar!/:3.7.12]
	at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:94) ~[reactor-core-3.7.12.jar!/:3.7.12]
	at reactor.core.publisher.MonoFlatMap$FlatMapMain.onError(MonoFlatMap.java:180) ~[reactor-core-3.7.12.jar!/:3.7.12]
	at reactor.core.publisher.FluxSubscribeOnCallable$CallableSubscribeOnSubscription.run(FluxSubscribeOnCallable.java:231) ~[reactor-core-3.7.12.jar!/:3.7.12]
	at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:68) ~[reactor-core-3.7.12.jar!/:3.7.12]
	at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:28) ~[reactor-core-3.7.12.jar!/:3.7.12]
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) ~[na:na]
	at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[na:na]
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[na:na]
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[na:na]
	at java.base/java.lang.Thread.run(Thread.java:1583) ~[na:na]
	Suppressed: java.lang.Exception: #block terminated with an error
		at reactor.core.publisher.BlockingSingleSubscriber.blockingGet(BlockingSingleSubscriber.java:104) ~[reactor-core-3.7.12.jar!/:3.7.12]
		at reactor.core.publisher.Mono.block(Mono.java:1779) ~[reactor-core-3.7.12.jar!/:3.7.12]
		at io.kafbat.ui.service.ClustersStatisticsScheduler.updateStatistics(ClustersStatisticsScheduler.java:30) ~[!/:v1.4.2]
		at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[na:na]
		at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[na:na]
		at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) ~[spring-context-6.2.12.jar!/:6.2.12]
		at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) ~[spring-context-6.2.12.jar!/:6.2.12]
		at io.micrometer.observation.Observation.observe(Observation.java:498) ~[micrometer-observation-1.15.5.jar!/:1.15.5]
		at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) ~[spring-context-6.2.12.jar!/:6.2.12]
		at org.springframework.scheduling.config.Task$OutcomeTrackingRunnable.run(Task.java:87) ~[spring-context-6.2.12.jar!/:6.2.12]
		at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) ~[spring-context-6.2.12.jar!/:6.2.12]
		at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) ~[na:na]
		at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:358) ~[na:na]
		at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) ~[na:na]
		... 3 common frames omitted
Caused by: org.apache.kafka.common.KafkaException: Failed to create new KafkaAdminClient
	at org.apache.kafka.clients.admin.KafkaAdminClient.createInternal(KafkaAdminClient.java:561) ~[kafka-clients-7.9.0-ccs.jar!/:na]
	at org.apache.kafka.clients.admin.KafkaAdminClient.createInternal(KafkaAdminClient.java:512) ~[kafka-clients-7.9.0-ccs.jar!/:na]
	at org.apache.kafka.clients.admin.Admin.create(Admin.java:137) ~[kafka-clients-7.9.0-ccs.jar!/:na]
	at org.apache.kafka.clients.admin.AdminClient.create(AdminClient.java:39) ~[kafka-clients-7.9.0-ccs.jar!/:na]
	at io.kafbat.ui.service.AdminClientServiceImpl.lambda$createAdminClient$2(AdminClientServiceImpl.java:56) ~[!/:v1.4.2]
	at reactor.core.publisher.MonoSupplier.call(MonoSupplier.java:67) ~[reactor-core-3.7.12.jar!/:3.7.12]
	at reactor.core.publisher.FluxSubscribeOnCallable$CallableSubscribeOnSubscription.run(FluxSubscribeOnCallable.java:228) ~[reactor-core-3.7.12.jar!/:3.7.12]
	... 7 common frames omitted
Caused by: org.apache.kafka.common.config.ConfigException: No resolvable bootstrap urls given in bootstrap.servers
	at org.apache.kafka.clients.ClientUtils.parseAndValidateAddresses(ClientUtils.java:104) ~[kafka-clients-7.9.0-ccs.jar!/:na]
	at org.apache.kafka.clients.ClientUtils.parseAndValidateAddresses(ClientUtils.java:63) ~[kafka-clients-7.9.0-ccs.jar!/:na]
	at org.apache.kafka.clients.admin.internals.AdminBootstrapAddresses.fromConfig(AdminBootstrapAddresses.java:72) ~[kafka-clients-7.9.0-ccs.jar!/:na]
	at org.apache.kafka.clients.admin.KafkaAdminClient.createInternal(KafkaAdminClient.java:530) ~[kafka-clients-7.9.0-ccs.jar!/:na]
	... 13 common frames omitted

2026-02-19T08:07:55.273Z DEBUG 1 --- [    parallel-16] i.k.u.s.ClustersStatisticsScheduler      : Start getting metrics for kafkaCluster: my-cluster
2026-02-19T08:07:55.274Z  INFO 1 --- [undedElastic-15] o.a.k.clients.admin.AdminClientConfig    : AdminClientConfig values:
	auto.include.jmx.reporter = true
	bootstrap.controllers = []
	bootstrap.servers = [my-cluster-kafka-bootstrap:9092]
	client.dns.lookup = use_all_dns_ips
	client.id = kafbat-ui-admin-1771488475-104
	connections.max.idle.ms = 300000
	default.api.timeout.ms = 60000
	enable.metrics.push = true
	metadata.max.age.ms = 300000
	metadata.recovery.strategy = none
	metric.reporters = []
	metrics.num.samples = 2
	metrics.recording.level = INFO
	metrics.sample.window.ms = 30000
	receive.buffer.bytes = 65536
	reconnect.backoff.max.ms = 1000
	reconnect.backoff.ms = 50
	request.timeout.ms = 30000
	retries = 2147483647
	retry.backoff.max.ms = 1000
	retry.backoff.ms = 100
	sasl.client.callback.handler.class = null
	sasl.jaas.config = null
	sasl.kerberos.kinit.cmd = /usr/bin/kinit
	sasl.kerberos.min.time.before.relogin = 60000
	sasl.kerberos.service.name = null
	sasl.kerberos.ticket.renew.jitter = 0.05
	sasl.kerberos.ticket.renew.window.factor = 0.8
	sasl.login.callback.handler.class = null
	sasl.login.class = null
	sasl.login.connect.timeout.ms = null
	sasl.login.read.timeout.ms = null
	sasl.login.refresh.buffer.seconds = 300
	sasl.login.refresh.min.period.seconds = 60
	sasl.login.refresh.window.factor = 0.8
	sasl.login.refresh.window.jitter = 0.05
	sasl.login.retry.backoff.max.ms = 10000
	sasl.login.retry.backoff.ms = 100
	sasl.mechanism = GSSAPI
	sasl.oauthbearer.clock.skew.seconds = 30
	sasl.oauthbearer.expected.audience = null
	sasl.oauthbearer.expected.issuer = null
	sasl.oauthbearer.header.urlencode = false
	sasl.oauthbearer.jwks.endpoint.refresh.ms = 3600000
	sasl.oauthbearer.jwks.endpoint.retry.backoff.max.ms = 10000
	sasl.oauthbearer.jwks.endpoint.retry.backoff.ms = 100
	sasl.oauthbearer.jwks.endpoint.url = null
	sasl.oauthbearer.scope.claim.name = scope
	sasl.oauthbearer.sub.claim.name = sub
	sasl.oauthbearer.token.endpoint.url = null
	security.protocol = PLAINTEXT
	security.providers = null
	send.buffer.bytes = 131072
	socket.connection.setup.timeout.max.ms = 30000
	socket.connection.setup.timeout.ms = 10000
	ssl.cipher.suites = null
	ssl.enabled.protocols = [TLSv1.2, TLSv1.3]
	ssl.endpoint.identification.algorithm = https
	ssl.engine.factory.class = null
	ssl.key.password = null
	ssl.keymanager.algorithm = SunX509
	ssl.keystore.certificate.chain = null
	ssl.keystore.key = null
	ssl.keystore.location = null
	ssl.keystore.password = null
	ssl.keystore.type = JKS
	ssl.protocol = TLSv1.3
	ssl.provider = null
	ssl.secure.random.implementation = null
	ssl.trustmanager.algorithm = PKIX
	ssl.truststore.certificates = null
	ssl.truststore.location = null
	ssl.truststore.password = null
	ssl.truststore.type = JKS

Expected behavior

No response

Your installation details

app.kubernetes.io/version: v1.4.2
helm.sh/chart: kafka-ui-1.6.0

Steps to reproduce

&

Screenshots

No response

Logs

No response

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions