Skip to content
This repository was archived by the owner on Aug 16, 2021. It is now read-only.

Commit 9548055

Browse files
committed
"real workload" options polished + test for real workload
1 parent 01f7e97 commit 9548055

File tree

3 files changed

+44
-21
lines changed

3 files changed

+44
-21
lines changed

.circleci/sample.replay

237 Bytes
Binary file not shown.

nancy_run.sh

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -99,19 +99,19 @@ while true; do
9999
Specify additional commands to be executed after database is initiated (dump
100100
loaded or snapshot attached).
101101
102-
\033[1m--workload-full-path\033[22m (string)
102+
\033[1m--workload-real\033[22m (string)
103103
104104
Path to 'real' workload prepared by using 'nancy prepare-workload'.
105105
106-
\033[1m--workload-basis-path\033[22m (string)
106+
\033[1m--workload-basis\033[22m (string)
107107
108108
Reserved / Not yet implemented.
109109
110110
\033[1m--workload-custom-sql\033[22m (string)
111111
112112
Specify custom SQL queries to be used as an input.
113113
114-
\033[1m--workload-replay-speed\033[22m (string)
114+
\033[1m--workload-real-replay-speed\033[22m (string)
115115
116116
Reserved / Not yet implemented.
117117
@@ -198,17 +198,17 @@ while true; do
198198
--after-db-init-code )
199199
#s3 url|filename|content
200200
AFTER_DB_INIT_CODE="$2"; shift 2 ;;
201-
--workload-full-path )
201+
--workload-real )
202202
#s3 url
203-
WORKLOAD_FULL_PATH="$2"; shift 2 ;;
204-
--workload-basis-path )
203+
WORKLOAD_REAL="$2"; shift 2 ;;
204+
--workload-basis )
205205
#Still unsupported
206-
WORKLOAD_BASIS_PATH="$2"; shift 2 ;;
206+
WORKLOAD_BASIS="$2"; shift 2 ;;
207207
--workload-custom-sql )
208208
#s3 url|filename|content
209209
WORKLOAD_CUSTOM_SQL="$2"; shift 2 ;;
210-
--workload-replay-speed )
211-
WORKLOAD_REPLAY_SPEED="$2"; shift 2 ;;
210+
--workload-real-replay-speed )
211+
WORKLOAD_REAL_REPLAY_SPEED="$2"; shift 2 ;;
212212
--target-ddl-do )
213213
#s3 url|filename|content
214214
TARGET_DDL_DO="$2"; shift 2 ;;
@@ -265,10 +265,10 @@ if [ $DEBUG -eq 1 ]; then
265265
echo "pg_config: ${PG_CONFIG}"
266266
echo "db_prepared_snapshot: ${DB_PREPARED_SNAPSHOT}"
267267
echo "db_dump_path: $DB_DUMP_PATH"
268-
echo "workload_full_path: $WORKLOAD_FULL_PATH"
269-
echo "workload_basis_path: $WORKLOAD_BASIS_PATH"
268+
echo "workload_real: $WORKLOAD_REAL"
269+
echo "workload_basis: $WORKLOAD_BASIS"
270270
echo "workload_custom_sql: $WORKLOAD_CUSTOM_SQL"
271-
echo "workload_replay_speed: $WORKLOAD_REPLAY_SPEED"
271+
echo "workload_real_replay_speed: $WORKLOAD_REAL_REPLAY_SPEED"
272272
echo "target_ddl_do: $TARGET_DDL_DO"
273273
echo "target_ddl_undo: $TARGET_DDL_UNDO"
274274
echo "target_config: $TARGET_CONFIG"
@@ -363,8 +363,8 @@ function checkParams() {
363363
[ ! -d $TMP_PATH ] && mkdir $TMP_PATH
364364

365365
workloads_count=0
366-
[ ! -z ${WORKLOAD_BASIS_PATH+x} ] && let workloads_count=$workloads_count+1
367-
[ ! -z ${WORKLOAD_FULL_PATH+x} ] && let workloads_count=$workloads_count+1
366+
[ ! -z ${WORKLOAD_BASIS+x} ] && let workloads_count=$workloads_count+1
367+
[ ! -z ${WORKLOAD_REAL+x} ] && let workloads_count=$workloads_count+1
368368
[ ! -z ${WORKLOAD_CUSTOM_SQL+x} ] && let workloads_count=$workloads_count+1
369369

370370
# --workload-full-path or --workload-basis-path or --workload-custom-sql
@@ -437,12 +437,12 @@ function checkParams() {
437437
ARTIFACTS_FILENAME=$DOCKER_MACHINE
438438
fi
439439

440-
[ ! -z ${WORKLOAD_FULL_PATH+x} ] && ! checkPath WORKLOAD_FULL_PATH \
441-
&& >&2 echo "ERROR: workload file $WORKLOAD_FULL_PATH not found" \
440+
[ ! -z ${WORKLOAD_REAL+x} ] && ! checkPath WORKLOAD_REAL \
441+
&& >&2 echo "ERROR: workload file $WORKLOAD_REAL not found" \
442442
&& exit 1
443443

444-
[ ! -z ${WORKLOAD_BASIS_PATH+x} ] && ! checkPath WORKLOAD_BASIS_PATH \
445-
&& >&2 echo "ERROR: workload file $WORKLOAD_BASIS_PATH not found" \
444+
[ ! -z ${WORKLOAD_BASIS+x} ] && ! checkPath WORKLOAD_BASIS \
445+
&& >&2 echo "ERROR: workload file $WORKLOAD_BASIS not found" \
446446
&& exit 1
447447

448448
if [ ! -z ${WORKLOAD_CUSTOM_SQL+x} ]; then
@@ -786,7 +786,7 @@ function copyFile() {
786786
[ ! -z ${TARGET_DDL_DO+x} ] && copyFile $TARGET_DDL_DO
787787
[ ! -z ${TARGET_DDL_UNDO+x} ] && copyFile $TARGET_DDL_UNDO
788788
[ ! -z ${WORKLOAD_CUSTOM_SQL+x} ] && copyFile $WORKLOAD_CUSTOM_SQL
789-
[ ! -z ${WORKLOAD_FULL_PATH+x} ] && copyFile $WORKLOAD_FULL_PATH
789+
[ ! -z ${WORKLOAD_REAL+x} ] && copyFile $WORKLOAD_REAL
790790

791791
## Apply machine features
792792
# Dump
@@ -841,10 +841,10 @@ docker_exec vacuumdb -U postgres test -j $(cat /proc/cpuinfo | grep processor |
841841
docker_exec bash -c "echo '' > /var/log/postgresql/postgresql-$PG_VERSION-main.log"
842842
# Execute workload
843843
echo "Execute workload..."
844-
if [ ! -z ${WORKLOAD_FULL_PATH+x} ] && [ "$WORKLOAD_FULL_PATH" != '' ];then
844+
if [ ! -z ${WORKLOAD_REAL+x} ] && [ "$WORKLOAD_REAL" != '' ];then
845845
echo "Execute pgreplay queries..."
846846
docker_exec psql -U postgres test -c 'create role testuser superuser login;'
847-
WORKLOAD_FILE_NAME=$(basename $WORKLOAD_FULL_PATH)
847+
WORKLOAD_FILE_NAME=$(basename $WORKLOAD_REAL)
848848
docker_exec bash -c "pgreplay -r -j $MACHINE_HOME/$WORKLOAD_FILE_NAME"
849849
else
850850
if ([ ! -z ${WORKLOAD_CUSTOM_SQL+x} ] && [ "$WORKLOAD_CUSTOM_SQL" != "" ]); then
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#!/bin/bash
2+
3+
thisDir="$(dirname "$(readlink -f "$BASH_SOURCE")")"
4+
parentDir="$(dirname "$thisDir")"
5+
srcDir="$parentDir/.circleci"
6+
if [ ! -d "$srcDir/tmp" ]; then
7+
mkdir "$srcDir/tmp"
8+
fi
9+
nancyRun="$parentDir/nancy_run.sh"
10+
11+
output=$(
12+
$nancyRun --workload-real "file://$srcDir/sample.replay" \
13+
--db-dump-path "file://$srcDir/test.dump.bz2" \
14+
--tmp-path $srcDir/tmp 2>&1
15+
)
16+
17+
if [[ $output =~ "Queries duration:" ]]; then
18+
echo -e "\e[36mOK\e[39m"
19+
else
20+
>&2 echo -e "\e[31mFAILED\e[39m"
21+
>&2 echo -e "Output: $output"
22+
exit 1
23+
fi

0 commit comments

Comments
 (0)