Details
Description
After upgrading from version 3.4.14 to version 3.6.4, it was found that other JVM memory options such as - XX: MaxRAMPercentage cannot be used to control the memory usage of zookeeper. Upon investigation, it was found that the reason was due to the addition of a default setting for heap size in the zkEnv.sh script in version 3.5, with a default value of 1000M.
ZK_SERVER_HEAP="${ZK_SERVER_HEAP:-1000}" export SERVER_JVMFLAGS="-Xmx${ZK_SERVER_HEAP}m $SERVER_JVMFLAGS"
When the user uses - XX: MaxRAMPercentage to control the memory usage of zookeeper, it is found that the memory configuration will be overwritten by the default - Xmx configuration value. This does not meet the memory usage configuration required by the user.
InĀ ZOOKEEPER-4391, it is also proposed to add a flag to disable the memory configuration behavior by default. This default value can only be optionally released when users need to use the default heap size configuration.