[ 
https://issues.apache.org/jira/browse/KAFKA-17953?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Federico Valeri updated KAFKA-17953:
------------------------------------
    Description: 
When running the docker image with an env var, you get the following error:

{code}
$ docker run --rm -it -p 9092:9092 \
  -e KAFKA_NUM_NETWORK_THREADS=4 \
  apache/kafka:3.8.1
...
Exception in thread "main" org.apache.kafka.common.config.ConfigException: 
Missing required configuration `zookeeper.connect` which has no default value. 
at kafka.server.KafkaConfig.validateValues(KafkaConfig.scala:1232) at 
kafka.server.KafkaConfig.<init>(KafkaConfig.scala:1223) at 
kafka.server.KafkaConfig.<init>(KafkaConfig.scala:545) at 
kafka.tools.StorageTool$.$anonfun$execute$1(StorageTool.scala:72) at 
scala.Option.flatMap(Option.scala:283) at 
kafka.tools.StorageTool$.execute(StorageTool.scala:72) at 
kafka.tools.StorageTool$.main(StorageTool.scala:53) at 
kafka.docker.KafkaDockerWrapper$.main(KafkaDockerWrapper.scala:48) at 
kafka.docker.KafkaDockerWrapper.main(KafkaDockerWrapper.scala)
{code}

The KafkaDockerWrapper does not copy the default KRaft config before appending 
the user env vars as an override.
The result is that you end up with a server.properties that contains only the 
env vars.

  was:
When running the docker image with an env var, you get the following error:

{code}
$ docker run --rm -it -p 9092:9092 \
  -e KAFKA_NUM_NETWORK_THREADS=4 \
  apache/kafka:3.8.1
...
Exception in thread "main" org.apache.kafka.common.config.ConfigException: 
Missing required configuration `zookeeper.connect` which has no default value. 
at kafka.server.KafkaConfig.validateValues(KafkaConfig.scala:1232) at 
kafka.server.KafkaConfig.<init>(KafkaConfig.scala:1223) at 
kafka.server.KafkaConfig.<init>(KafkaConfig.scala:545) at 
kafka.tools.StorageTool$.$anonfun$execute$1(StorageTool.scala:72) at 
scala.Option.flatMap(Option.scala:283) at 
kafka.tools.StorageTool$.execute(StorageTool.scala:72) at 
kafka.tools.StorageTool$.main(StorageTool.scala:53) at 
kafka.docker.KafkaDockerWrapper$.main(KafkaDockerWrapper.scala:48) at 
kafka.docker.KafkaDockerWrapper.main(KafkaDockerWrapper.scala)
{code}

In this case, the KafkaDockerWrapper setup does not copy the default KRaft 
config before appending the user env vars. Basically, it expects the whole 
configuration as env vars, rather than appending to default KRaft config.


> Docker image fails when setting env vars
> ----------------------------------------
>
>                 Key: KAFKA-17953
>                 URL: https://issues.apache.org/jira/browse/KAFKA-17953
>             Project: Kafka
>          Issue Type: Bug
>            Reporter: Federico Valeri
>            Assignee: Federico Valeri
>            Priority: Major
>
> When running the docker image with an env var, you get the following error:
> {code}
> $ docker run --rm -it -p 9092:9092 \
>   -e KAFKA_NUM_NETWORK_THREADS=4 \
>   apache/kafka:3.8.1
> ...
> Exception in thread "main" org.apache.kafka.common.config.ConfigException: 
> Missing required configuration `zookeeper.connect` which has no default 
> value. at kafka.server.KafkaConfig.validateValues(KafkaConfig.scala:1232) at 
> kafka.server.KafkaConfig.<init>(KafkaConfig.scala:1223) at 
> kafka.server.KafkaConfig.<init>(KafkaConfig.scala:545) at 
> kafka.tools.StorageTool$.$anonfun$execute$1(StorageTool.scala:72) at 
> scala.Option.flatMap(Option.scala:283) at 
> kafka.tools.StorageTool$.execute(StorageTool.scala:72) at 
> kafka.tools.StorageTool$.main(StorageTool.scala:53) at 
> kafka.docker.KafkaDockerWrapper$.main(KafkaDockerWrapper.scala:48) at 
> kafka.docker.KafkaDockerWrapper.main(KafkaDockerWrapper.scala)
> {code}
> The KafkaDockerWrapper does not copy the default KRaft config before 
> appending the user env vars as an override.
> The result is that you end up with a server.properties that contains only the 
> env vars.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to