36 lines
1.2 KiB
Bash
36 lines
1.2 KiB
Bash
|
echo "${_group}Upgrading Clickhouse ..."
|
||
|
|
||
|
function wait_for_clickhouse() {
|
||
|
# Wait for clickhouse
|
||
|
RETRIES=30
|
||
|
until $dc ps clickhouse | grep 'healthy' || [ $RETRIES -eq 0 ]; do
|
||
|
echo "Waiting for clickhouse server, $((RETRIES--)) remaining attempts..."
|
||
|
sleep 1
|
||
|
done
|
||
|
}
|
||
|
|
||
|
# First check to see if user is upgrading by checking for existing clickhouse volume
|
||
|
if [[ -n "$(docker volume ls -q --filter name=sentry-clickhouse)" ]]; then
|
||
|
# Start clickhouse if it is not already running
|
||
|
$dc up -d clickhouse
|
||
|
|
||
|
# Wait for clickhouse
|
||
|
wait_for_clickhouse
|
||
|
|
||
|
# In order to get to 23.8, we need to first upgrade go from 21.8 -> 22.8 -> 23.3 -> 23.8
|
||
|
version=$($dc exec clickhouse clickhouse-client -q 'SELECT version()')
|
||
|
if [[ "$version" == "21.8.13.1.altinitystable" || "$version" == "21.8.12.29.altinitydev.arm" ]]; then
|
||
|
$dc down clickhouse
|
||
|
$dcb --build-arg BASE_IMAGE=altinity/clickhouse-server:22.8.15.25.altinitystable clickhouse
|
||
|
$dc up -d clickhouse
|
||
|
wait_for_clickhouse
|
||
|
$dc down clickhouse
|
||
|
$dcb --build-arg BASE_IMAGE=altinity/clickhouse-server:23.3.19.33.altinitystable clickhouse
|
||
|
$dc up -d clickhouse
|
||
|
wait_for_clickhouse
|
||
|
else
|
||
|
echo "Detected clickhouse version $version. Skipping upgrades!"
|
||
|
fi
|
||
|
fi
|
||
|
echo "${_endgroup}"
|