#!/bin/sh

# This script is used to start tidb containers in kubernetes cluster

set -uo pipefail

ARGS="--store=tikv \
--host=0.0.0.0 \
--path=serverless-cluster-pd.tidb-serverless.svc:2379 \
--tidb-worker-api-addr=https://scaler-svc.${TIDB_WORKER_NS:-tidb-worker}.svc:9080 \
--config=/etc/tidb/tidb.toml \
--standby
"

SLOW_LOG_FILE=${SLOW_LOG_FILE:-""}
if [[ ! -z "${SLOW_LOG_FILE}" ]]
then
    ARGS="${ARGS} --log-slow-query=${SLOW_LOG_FILE:-}"
fi

ARGS="${ARGS} --cluster-ca=${CLUSTER_CA:-} --cluster-cert=${CLUSTER_CERT:-} --cluster-key=${CLUSTER_KEY:-}"

term_handler() {
  echo "start to graceful shutdown"
  kill -TERM $tidb_server_pid
  wait $tidb_server_pid
  exit
}
trap term_handler TERM

while true; do
  echo "start tidb-worker ..."
  echo "/tidb-server ${ARGS}"
  /tidb-server ${ARGS} & tidb_server_pid=$!
  wait $tidb_server_pid
  echo "tidb-worker recycled, waiting for activation again"
done
