Skip to content

pulsar bookie leads to duplicate values in command line #9433

@klwilson227

Description

@klwilson227

Describe the bug
When starting a bookkeeper with: pulsar bookie
There are duplicate values that are added to the java command line based on PULSAR_GC and PULSAR_MEM and then those values from BOOKIE_GC and BOOKIE_MEM.

/usr/lib64/jvm/java-1.8.0-openjdk-1.8.0/jre/bin/java -cp /pulsar/conf:::/pulsar/lib/: -Dvertx.cacheDirBase=/pulsar/tmp/vertx-cache -Dlog4j.configurationFile=log4j2.yaml -Djute.maxbuffer=10485760 -Djava.net.preferIPv4Stack=true -Dzookeeper.clientCnxnSocket=org.apache.zookeeper.ClientCnxnSocketNetty -Dzookeeper.client.secure=true -Dzookeeper.ssl.keyStore.location=/pulsar/ssl/store/keystore.p12 -Dzookeeper.ssl.keyStore.password=pulsar22440 -Dzookeeper.ssl.trustStore.location=/pulsar/ssl/store/truststore.p12 -Dzookeeper.ssl.trustStore.password=pulsar22440 -Xms2g -Xmx2g -XX:MaxDirectMemorySize=1g -XX:+UseG1GC -XX:MaxGCPauseMillis=10 -XX:+ParallelRefProcEnabled -XX:+UnlockExperimentalVMOptions -XX:+AggressiveOpts -XX:+DoEscapeAnalysis -XX:ParallelGCThreads=4 -XX:ConcGCThreads=4 -XX:G1NewSizePercent=50 -XX:+DisableExplicitGC -XX:-ResizePLAB -XX:+ExitOnOutOfMemoryError -XX:+PerfDisableSharedMem -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCApplicationStoppedTime -XX:+PrintHeapAtGC -verbosegc -Xloggc:/var/log/bookie-gc.log -XX:G1LogLevel=finest -Dpulsar.log.appender=RoutingAppender -Dpulsar.log.dir=/pulsar/logs -Dpulsar.log.level=info -Dpulsar.log.root.level=info -Dpulsar.routing.appender.default=Console -Dpulsar.functions.process.container.log.dir=/pulsar/logs -Dpulsar.functions.java.instance.jar=/pulsar/instances/java-instance.jar -Dpulsar.functions.python.instance.file=/pulsar/instances/python-instance/python_instance_main.py -Dpulsar.functions.extra.dependencies.dir=/pulsar/instances/deps -Dpulsar.functions.instance.classpath=/pulsar/conf:::/pulsar/lib/: -Xms2g -Xmx2g -XX:MaxDirectMemorySize=1g -XX:+UseG1GC -XX:MaxGCPauseMillis=10 -XX:+ParallelRefProcEnabled -XX:+UnlockExperimentalVMOptions -XX:+DoEscapeAnalysis -XX:ParallelGCThreads=32 -XX:ConcGCThreads=32 -XX:G1NewSizePercent=50 -XX:+DisableExplicitGC -XX:-ResizePLAB -Dio.netty.leakDetectionLevel=disabled -Dio.netty.recycler.maxCapacity.default=1000 -Dio.netty.recycler.linkCapacity=1024 -Dzookeeper.clientCnxnSocket=org.apache.zookeeper.ClientCnxnSocketNetty -Dzookeeper.client.secure=true -Dzookeeper.ssl.keyStore.location=/pulsar/ssl/store/keystore.p12 -Dzookeeper.ssl.keyStore.password=pulsar22440 -Dzookeeper.ssl.trustStore.location=/pulsar/ssl/store/truststore.p12 -Dzookeeper.ssl.trustStore.password=pulsar22440 -Dpulsar.log.file=bookkeeper.log org.apache.bookkeeper.server.Main --conf /pulsar/conf/bookkeeper.conf

There is also duplication of PULSAR_EXTRA_OPTS and BOOKIE_EXTRA_OPTS.

The system whatsmyclusterid function uses bin/bookkeeper to lauch the ID check requiring values to be placed in BOOKIE version of variables settings, while the launching of the container uses pulsar bookie which then uses the pulsar values, and appends in the duplicate values.

Containers have two ways of starting the bookeepers, which also leads to a confusing environment. There should be one consistent usage. So that the environments are clear. This defect is filed here as the bkenv.sh apply_config_from_env.py and bin/bookkeeper and bin/pulsar are all involved and are part of this repository and are provided for chart execution.

To Reproduce
Steps to reproduce the behavior:

  1. Start the bookie container
  2. Enter the container
  3. ps -aef|grep java
  4. identify the duplication of -Xms arguments.

Expected behavior
Expect unique values for the Java command line arguments. It should not be possible to get duplicate values causing confusion in support.

Metadata

Metadata

Assignees

Labels

release/2.7.1type/bugThe PR fixed a bug or issue reported a bug

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions