This Confluence has been LDAP enabled, if you are an ASF Committer, please use your LDAP Credentials to login. Any problems file an INFRA jira ticket please.

Child pages
  • Upgrade FAQ
Skip to end of metadata
Go to start of metadata

This page lists frequently asked questions and answers about ZooKeeper upgrading.

Upgrade to 3.5.5

Supported upgrade path: Existing stable 3.4.x versions should be supported, but in order to get the best results, it's strongly advised to upgrade to the latest stable 3.4 version beforehand.

Error message: "java.io.IOException: No snapshot found, but there are log entries. Something is broken!"

Problem: Issue occurs when ZooKeeper 3.5.5 is trying to load an existing 3.4 data dir in which no snapshot file has been created. This usually happens in standalone mode if txn count hasn't reached the limit of snapshot creation. An extra startup check has been introduced in 3.5.5 (ZOOKEEPER-2325) to prevent a potential data inconsistency issue which makes ZooKeeper unable to start when no snapshot files present. It's a completely valid scenario in 3.4, so we have an open Jira to fix it: ZOOKEEPER-3056

Solution: The following workaround has been posted on the Jira and is known to be working:

To perform an upgrade (3.4 -> 3.5):

  • download the "snapshot.0" file attached (ZOOKEEPER-3056)
  • copy it to the versioned directory (e.g. "version-2") within your data directory (parameter "dataDir" in your config - this is the directory containing the "myid" file for a peer)
  • restart the peer
  • upgrade the peer (this can be combined with the above step if you like)

How to enable Quorum TLS in existing ensemble?

Upgrade to the latest stable version of 3.5 branch.

Follow the instructions in the documentation.

Four letter words whitelist in 3.5.5

In 3.5.5 version, if you want to use 4 letter word commands, you need to whitelist them. See admin guide

Example to whitelist specific commands:

4lw.commands.whitelist=stat, ruok, conf, isro

Whitelist all 4 letter word commands:

4lw.commands.whitelist=*
  • No labels