diff --git a/3.4.13/Dockerfile b/3.4.13/Dockerfile index 0887e69..b3e185a 100644 --- a/3.4.13/Dockerfile +++ b/3.4.13/Dockerfile @@ -13,6 +13,8 @@ ENV ZOO_USER=zookeeper \ ZOO_TICK_TIME=2000 \ ZOO_INIT_LIMIT=5 \ ZOO_SYNC_LIMIT=2 \ + ZOO_AUTOPURGE_PURGEINTERVAL=0 \ + ZOO_AUTOPURGE_SNAPRETAINCOUNT=3 \ ZOO_MAX_CLIENT_CNXNS=60 # Add a user and make dirs diff --git a/3.4.13/docker-entrypoint.sh b/3.4.13/docker-entrypoint.sh index 19b0c5e..9f36a0e 100755 --- a/3.4.13/docker-entrypoint.sh +++ b/3.4.13/docker-entrypoint.sh @@ -20,6 +20,8 @@ if [[ ! -f "$ZOO_CONF_DIR/zoo.cfg" ]]; then echo "initLimit=$ZOO_INIT_LIMIT" >> "$CONFIG" echo "syncLimit=$ZOO_SYNC_LIMIT" >> "$CONFIG" + echo "autopurge.snapRetainCount=$ZOO_AUTOPURGE_SNAPRETAINCOUNT" >> "$CONFIG" + echo "autopurge.purgeInterval=$ZOO_AUTOPURGE_PURGEINTERVAL" >> "$CONFIG" echo "maxClientCnxns=$ZOO_MAX_CLIENT_CNXNS" >> "$CONFIG" for server in $ZOO_SERVERS; do diff --git a/3.5.4-beta/Dockerfile b/3.5.4-beta/Dockerfile index faca5f3..188391f 100644 --- a/3.5.4-beta/Dockerfile +++ b/3.5.4-beta/Dockerfile @@ -13,6 +13,8 @@ ENV ZOO_USER=zookeeper \ ZOO_TICK_TIME=2000 \ ZOO_INIT_LIMIT=5 \ ZOO_SYNC_LIMIT=2 \ + ZOO_AUTOPURGE_PURGEINTERVAL=0 \ + ZOO_AUTOPURGE_SNAPRETAINCOUNT=3 \ ZOO_MAX_CLIENT_CNXNS=60 \ ZOO_STANDALONE_ENABLED=false diff --git a/3.5.4-beta/docker-entrypoint.sh b/3.5.4-beta/docker-entrypoint.sh index 43eae91..aa6a9c9 100755 --- a/3.5.4-beta/docker-entrypoint.sh +++ b/3.5.4-beta/docker-entrypoint.sh @@ -19,6 +19,8 @@ if [[ ! -f "$ZOO_CONF_DIR/zoo.cfg" ]]; then echo "initLimit=$ZOO_INIT_LIMIT" >> "$CONFIG" echo "syncLimit=$ZOO_SYNC_LIMIT" >> "$CONFIG" + echo "autopurge.snapRetainCount=$ZOO_AUTOPURGE_SNAPRETAINCOUNT" >> "$CONFIG" + echo "autopurge.purgeInterval=$ZOO_AUTOPURGE_PURGEINTERVAL" >> "$CONFIG" echo "maxClientCnxns=$ZOO_MAX_CLIENT_CNXNS" >> "$CONFIG" echo "standaloneEnabled=$ZOO_STANDALONE_ENABLED" >> "$CONFIG" diff --git a/README.md b/README.md index b71cff7..8d13d32 100644 --- a/README.md +++ b/README.md @@ -114,6 +114,17 @@ Defaults to `false`. Zookeeper's [`standaloneEnabled`](http://zookeeper.apache.o > Prior to 3.5.0, one could run ZooKeeper in Standalone mode or in a Distributed mode. These are separate implementation stacks, and switching between them during run time is not possible. By default (for backward compatibility) standaloneEnabled is set to true. The consequence of using this default is that if started with a single server the ensemble will not be allowed to grow, and if started with more than one server it will not be allowed to shrink to contain fewer than two participants. +### `ZOO_AUTOPURGE_PURGEINTERVAL` + +Defaults to `0`. Zookeeper's [`autoPurge.purgeInterval`](https://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_advancedConfiguration) +> New in 3.4.0: The time interval in hours for which the purge task has to be triggered. Set to a positive integer (1 and above) to enable the auto purging. Defaults to 0. + +### `ZOO_AUTOPURGE_SNAPRETAINCOUNT` + +Defaults to `3`. Zookeeper's [`autoPurge.snapRetainCount`](https://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_advancedConfiguration) + +>New in 3.4.0: When enabled, ZooKeeper auto purge feature retains the autopurge.snapRetainCount most recent snapshots and the corresponding transaction logs in the dataDir and dataLogDir respectively and deletes the rest. Defaults to 3. Minimum value is 3. + ## Replicated mode Environment variables below are mandatory if you want to run Zookeeper in replicated mode.