diff --git a/install.sh b/install.sh index 3aa3b89..c0419b1 100755 --- a/install.sh +++ b/install.sh @@ -164,6 +164,16 @@ $dc build --force-rm --parallel echo "" echo "Docker images built." + +ZOOKEEPER_LOG_FILE_COUNT=$($dcr zookeeper bash -c 'ls 2>/dev/null -Ubad1 -- /var/lib/zookeeper/log/version-2/* | wc -l | tr -d '[:space:]'') +ZOOKEEPER_SNAPSHOT_FILE_COUNT=$($dcr zookeeper bash -c 'ls 2>/dev/null -Ubad1 -- /var/lib/zookeeper/data/version-2/* | wc -l | tr -d '[:space:]'') +# This is a workaround for a ZK upgrade bug: https://issues.apache.org/jira/browse/ZOOKEEPER-3056 +if [ "$ZOOKEEPER_LOG_FILE_COUNT" -gt "0" ] && [ "$ZOOKEEPER_SNAPSHOT_FILE_COUNT" -eq "0" ]; then + $dcr -v $(pwd)/zookeeper:/temp zookeeper bash -c 'cp /temp/snapshot.0 /var/lib/zookeeper/data/version-2/snapshot.0' + $dc run -e ZOOKEEPER_SNAPSHOT_TRUST_EMPTY=true zookeeper +fi + + echo "Bootstrapping and migrating Snuba..." $dcr snuba-api bootstrap --force echo "" diff --git a/zookeeper/snapshot.0 b/zookeeper/snapshot.0 new file mode 100644 index 0000000..3e6deee Binary files /dev/null and b/zookeeper/snapshot.0 differ