diff --git a/byconity/run.sh b/byconity/run.sh index 720c67860..4afe678db 100755 --- a/byconity/run.sh +++ b/byconity/run.sh @@ -8,11 +8,15 @@ cat queries.sql | while read -r query; do echo -n "[" for i in $(seq 1 $TRIES); do - RES=$(byconity --database bench --time --format=Null --query="$query" &1 ||:) - [[ "$?" == "0" ]] && echo -n "${RES}" || echo -n "null" + OUT=$(byconity --database bench --time --format=Null --query="$query" &1) + CH_EXIT=$? + RES=$(printf '%s\n' "$OUT" | tail -n1) + + [[ "$CH_EXIT" == "0" ]] && echo -n "${RES}" || echo -n "null" [[ "$i" != $TRIES ]] && echo -n ", " + [[ "$CH_EXIT" == "139" ]] && echo "SEGFAULT: q=${QUERY_NUM} try=${i} ${RES}" >&2 - echo "${QUERY_NUM},${i},${RES}" >> result.csv + echo "${QUERY_NUM},${i},${RES},${CH_EXIT}" >> result.csv done echo "]," diff --git a/chyt/run.sh b/chyt/run.sh index 5de7977fb..99a4b5c4a 100755 --- a/chyt/run.sh +++ b/chyt/run.sh @@ -94,9 +94,12 @@ run() { cat queries.sql | while read query; do echo -n "[" for i in $(seq 1 $TRIES); do - RES=$(yt clickhouse execute "$query" --alias *clickbench@0 --proxy $YT_PROXY --format JSON | jq .statistics.elapsed 2>&1) - [[ "$?" == "0" ]] && echo -n "${RES}" || echo -n "null" + OUT=$(yt clickhouse execute "$query" --alias *clickbench@0 --proxy $YT_PROXY --format JSON | jq .statistics.elapsed 2>&1) + CH_EXIT=$? + RES=$(printf '%s\n' "$OUT" | tail -n1) + [[ "$CH_EXIT" == "0" ]] && echo -n "${RES}" || echo -n "null" [[ "$i" != $TRIES ]] && echo -n ", " + [[ "$CH_EXIT" == "139" ]] && echo "SEGFAULT: q=${QUERY_NUM} try=${i} ${RES}" >&2 done if [[ $QUERY_NUM == $TOTAL_LINES ]] then echo "]" diff --git a/clickhouse-datalake-partitioned/run.sh b/clickhouse-datalake-partitioned/run.sh index 0e4bc81ac..abaf113f6 100755 --- a/clickhouse-datalake-partitioned/run.sh +++ b/clickhouse-datalake-partitioned/run.sh @@ -8,11 +8,15 @@ cat queries.sql | while read -r query; do echo -n "[" for i in $(seq 1 $TRIES); do - RES=$(./clickhouse local --path . --time --format Null --filesystem_cache_name cache --query="$query" 2>&1) # (*) - [[ "$?" == "0" ]] && echo -n "${RES}" || echo -n "null" + OUT=$(./clickhouse local --path . --time --format Null --filesystem_cache_name cache --query="$query" 2>&1) # (*) + CH_EXIT=$? + RES=$(printf '%s\n' "$OUT" | tail -n1) + + [[ "$CH_EXIT" == "0" ]] && echo -n "${RES}" || echo -n "null" [[ "$i" != $TRIES ]] && echo -n ", " + [[ "$CH_EXIT" == "139" ]] && echo "SEGFAULT: q=${QUERY_NUM} try=${i} ${RES}" >&2 - echo "${QUERY_NUM},${i},${RES}" >> result.csv + echo "${QUERY_NUM},${i},${RES},${CH_EXIT}" >> result.csv done echo "]," diff --git a/clickhouse-datalake/run.sh b/clickhouse-datalake/run.sh index 0e4bc81ac..abaf113f6 100755 --- a/clickhouse-datalake/run.sh +++ b/clickhouse-datalake/run.sh @@ -8,11 +8,15 @@ cat queries.sql | while read -r query; do echo -n "[" for i in $(seq 1 $TRIES); do - RES=$(./clickhouse local --path . --time --format Null --filesystem_cache_name cache --query="$query" 2>&1) # (*) - [[ "$?" == "0" ]] && echo -n "${RES}" || echo -n "null" + OUT=$(./clickhouse local --path . --time --format Null --filesystem_cache_name cache --query="$query" 2>&1) # (*) + CH_EXIT=$? + RES=$(printf '%s\n' "$OUT" | tail -n1) + + [[ "$CH_EXIT" == "0" ]] && echo -n "${RES}" || echo -n "null" [[ "$i" != $TRIES ]] && echo -n ", " + [[ "$CH_EXIT" == "139" ]] && echo "SEGFAULT: q=${QUERY_NUM} try=${i} ${RES}" >&2 - echo "${QUERY_NUM},${i},${RES}" >> result.csv + echo "${QUERY_NUM},${i},${RES},${CH_EXIT}" >> result.csv done echo "]," diff --git a/clickhouse-parquet-partitioned/run.sh b/clickhouse-parquet-partitioned/run.sh index b0fd1faa5..71bb7b8bb 100755 --- a/clickhouse-parquet-partitioned/run.sh +++ b/clickhouse-parquet-partitioned/run.sh @@ -8,11 +8,15 @@ cat queries.sql | while read -r query; do echo -n "[" for i in $(seq 1 $TRIES); do - RES=$(./clickhouse local --time --format Null --query="$(cat create.sql); $query" 2>&1 | tail -n1) # (*) - [[ "$?" == "0" ]] && echo -n "${RES}" || echo -n "null" + OUT=$(./clickhouse local --time --format Null --query="$(cat create.sql); $query" 2>&1) + CH_EXIT=$? + RES=$(printf '%s\n' "$OUT" | tail -n1) # (*) + + [[ "$CH_EXIT" == "0" ]] && echo -n "${RES}" || echo -n "null" [[ "$i" != $TRIES ]] && echo -n ", " + [[ "$CH_EXIT" == "139" ]] && echo "SEGFAULT: q=${QUERY_NUM} try=${i} ${RES}" >&2 - echo "${QUERY_NUM},${i},${RES}" >> result.csv + echo "${QUERY_NUM},${i},${RES},${CH_EXIT}" >> result.csv done echo "]," diff --git a/clickhouse-parquet/run.sh b/clickhouse-parquet/run.sh index b0fd1faa5..71bb7b8bb 100755 --- a/clickhouse-parquet/run.sh +++ b/clickhouse-parquet/run.sh @@ -8,11 +8,15 @@ cat queries.sql | while read -r query; do echo -n "[" for i in $(seq 1 $TRIES); do - RES=$(./clickhouse local --time --format Null --query="$(cat create.sql); $query" 2>&1 | tail -n1) # (*) - [[ "$?" == "0" ]] && echo -n "${RES}" || echo -n "null" + OUT=$(./clickhouse local --time --format Null --query="$(cat create.sql); $query" 2>&1) + CH_EXIT=$? + RES=$(printf '%s\n' "$OUT" | tail -n1) # (*) + + [[ "$CH_EXIT" == "0" ]] && echo -n "${RES}" || echo -n "null" [[ "$i" != $TRIES ]] && echo -n ", " + [[ "$CH_EXIT" == "139" ]] && echo "SEGFAULT: q=${QUERY_NUM} try=${i} ${RES}" >&2 - echo "${QUERY_NUM},${i},${RES}" >> result.csv + echo "${QUERY_NUM},${i},${RES},${CH_EXIT}" >> result.csv done echo "]," diff --git a/clickhouse-tencent/run.sh b/clickhouse-tencent/run.sh index 0dce71cf9..c5aa1c995 100755 --- a/clickhouse-tencent/run.sh +++ b/clickhouse-tencent/run.sh @@ -8,11 +8,15 @@ cat queries.sql | while read -r query; do echo -n "[" for i in $(seq 1 $TRIES); do - RES=$(clickhouse-client --host "${FQDN:=localhost}" --password "${PASSWORD:=}" ${PASSWORD:+--secure} --time --format=Null --query="$query" --progress 0 2>&1 ||:) - [[ "$?" == "0" ]] && echo -n "${RES}" || echo -n "null" + OUT=$(clickhouse-client --host "${FQDN:=localhost}" --password "${PASSWORD:=}" ${PASSWORD:+--secure} --time --format=Null --query="$query" --progress 0 2>&1) + CH_EXIT=$? + RES=$(printf '%s\n' "$OUT" | tail -n1) + + [[ "$CH_EXIT" == "0" ]] && echo -n "${RES}" || echo -n "null" [[ "$i" != $TRIES ]] && echo -n ", " + [[ "$CH_EXIT" == "139" ]] && echo "SEGFAULT: q=${QUERY_NUM} try=${i} ${RES}" >&2 - echo "${QUERY_NUM},${i},${RES}" >> result.csv + echo "${QUERY_NUM},${i},${RES},${CH_EXIT}" >> result.csv done echo "]," diff --git a/clickhouse-web/run.sh b/clickhouse-web/run.sh index 502332872..dfa2b01e4 100755 --- a/clickhouse-web/run.sh +++ b/clickhouse-web/run.sh @@ -7,11 +7,15 @@ cat queries.sql | while read -r query; do echo -n "[" for i in $(seq 1 $TRIES); do - RES=$(clickhouse-client --host "${FQDN:=localhost}" --password "${PASSWORD:=}" ${PASSWORD:+--secure} --time --format=Null --query="$query" --progress 0 2>&1 ||:) # (*) - [[ "$?" == "0" ]] && echo -n "${RES}" || echo -n "null" + OUT=$(clickhouse-client --host "${FQDN:=localhost}" --password "${PASSWORD:=}" ${PASSWORD:+--secure} --time --format=Null --query="$query" --progress 0 2>&1) + CH_EXIT=$? + RES=$(printf '%s\n' "$OUT" | tail -n1) # (*) + + [[ "$CH_EXIT" == "0" ]] && echo -n "${RES}" || echo -n "null" [[ "$i" != $TRIES ]] && echo -n ", " + [[ "$CH_EXIT" == "139" ]] && echo "SEGFAULT: q=${QUERY_NUM} try=${i} ${RES}" >&2 - echo "${QUERY_NUM},${i},${RES}" >> result.csv + echo "${QUERY_NUM},${i},${RES},${CH_EXIT}" >> result.csv done echo "]," diff --git a/clickhouse/run.sh b/clickhouse/run.sh index 820a39e3b..50412d451 100755 --- a/clickhouse/run.sh +++ b/clickhouse/run.sh @@ -17,11 +17,15 @@ cat queries"$SUFFIX".sql | while read -r query; do echo -n "[" for i in $(seq 1 $TRIES); do - RES=$(clickhouse-client --host "${FQDN:=localhost}" --password "${PASSWORD:=}" ${PASSWORD:+--secure} --time --format=Null --query="$query" --progress 0 2>&1 ||:) # (*) - [[ "$?" == "0" ]] && echo -n "${RES}" || echo -n "null" + OUT=$(clickhouse-client --host "${FQDN:=localhost}" --password "${PASSWORD:=}" ${PASSWORD:+--secure} --time --format=Null --query="$query" --progress 0 2>&1) + CH_EXIT=$? + RES=$(printf '%s\n' "$OUT" | tail -n1) # (*) + + [[ "$CH_EXIT" == "0" ]] && echo -n "${RES}" || echo -n "null" [[ "$i" != $TRIES ]] && echo -n ", " + [[ "$CH_EXIT" == "139" ]] && echo "SEGFAULT: q=${QUERY_NUM} try=${i} ${RES}" >&2 - echo "${QUERY_NUM},${i},${RES}" >> result.csv + echo "${QUERY_NUM},${i},${RES},${CH_EXIT}" >> result.csv done echo "]," diff --git a/pinot/run.sh b/pinot/run.sh index 5f5ea4976..7e4484360 100755 --- a/pinot/run.sh +++ b/pinot/run.sh @@ -7,9 +7,12 @@ cat queries.sql | while read -r query; do echo -n "[" for i in $(seq 1 $TRIES); do echo "{\"sql\":\"$query option(timeoutMs=300000)\"}"| tr -d ';' > query.json - RES=$(curl -s -XPOST -H'Content-Type: application/json' http://localhost:8000/query/sql/ -d @query.json | jq 'if .exceptions == [] then .timeUsedMs/1000 else "-" end' ) - [[ "$?" == "0" ]] && echo -n "${RES}" || echo -n "null" + OUT=$(curl -s -XPOST -H'Content-Type: application/json' http://localhost:8000/query/sql/ -d @query.json | jq 'if .exceptions == [] then .timeUsedMs/1000 else "-" end' 2>&1) + CH_EXIT=$? + RES=$(printf '%s\n' "$OUT" | tail -n1) + [[ "$CH_EXIT" == "0" ]] && echo -n "${RES}" || echo -n "null" [[ "$i" != $TRIES ]] && echo -n ", " + [[ "$CH_EXIT" == "139" ]] && echo "SEGFAULT: try=${i} ${RES}" >&2 done echo "]," done diff --git a/ursa/run.sh b/ursa/run.sh index 79394c1e2..7bd18e9be 100755 --- a/ursa/run.sh +++ b/ursa/run.sh @@ -17,11 +17,15 @@ cat queries"$SUFFIX".sql | while read -r query; do echo -n "[" for i in $(seq 1 $TRIES); do - RES=$(./ursa client --host "${FQDN:=localhost}" --password "${PASSWORD:=}" ${PASSWORD:+--secure} --time --format=Null --query="$query" --progress 0 2>&1 ||:) - [[ "$?" == "0" ]] && echo -n "${RES}" || echo -n "null" + OUT=$(./ursa client --host "${FQDN:=localhost}" --password "${PASSWORD:=}" ${PASSWORD:+--secure} --time --format=Null --query="$query" --progress 0 2>&1) + CH_EXIT=$? + RES=$(printf '%s\n' "$OUT" | tail -n1) + + [[ "$CH_EXIT" == "0" ]] && echo -n "${RES}" || echo -n "null" [[ "$i" != $TRIES ]] && echo -n ", " + [[ "$CH_EXIT" == "139" ]] && echo "SEGFAULT: q=${QUERY_NUM} try=${i} ${RES}" >&2 - echo "${QUERY_NUM},${i},${RES}" >> result.csv + echo "${QUERY_NUM},${i},${RES},${CH_EXIT}" >> result.csv done echo "],"