Skip to content

Commit

Permalink
Update citus, PG and HammerDB default versions
Browse files Browse the repository at this point in the history
  • Loading branch information
naisila committed Jan 27, 2023
1 parent b3e2e12 commit 9a1e37c
Show file tree
Hide file tree
Showing 23 changed files with 66 additions and 56 deletions.
54 changes: 27 additions & 27 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -388,10 +388,10 @@ even if it fails.
You can find your test results in https://github.com/citusdata/release-test-results under `periodic_job_results` folder. Test results will be pushed to a branch which is in the format ${rg_name}/${month_day_year_uniqueID}.
By default the tests will be run against `release-9.2` and the latest released version. If you want to test on a custom branch you should change the config files of relevant tests with your custom branch name in:
By default the tests will be run against `release-11.1` and the main branch. If you want to test on a custom branch you should change the config files of relevant tests with your custom branch name in:
```text
postgres_citus_versions: [('12.1', 'your-custom-branch-name-in-citus'), ('12.1', 'release-9.1')]
postgres_citus_versions: [('15.1', 'release-11.1'), ('15.1', 'your-custom-branch-name-in-citus')]
```
*Note*: While you can run multiple tests by adding more elements to the array above, the results of the tests after the first might
Expand Down Expand Up @@ -514,7 +514,7 @@ If you want to run only the tpcc benchmark or the analytical queries, you should
You can change the thread count and initial sleep time for analytical queries from `build-and-run.sh` with `CH_THREAD_COUNT` and `RAMPUP_TIME` variables respectively.
If you want to run hammerdb4.0 change `hammerdb_version` to `4.0` in `create-run.sh`.
If you want to run hammerdb4.5 change `hammerdb_version` to `4.5` in `create-run.sh`.
By default a random region will be used, if you want you can specify the region with `AZURE_REGION` environment variable prior to running `create-run.sh` such as `export AZURE_REGION=westus2`.
Expand Down Expand Up @@ -558,7 +558,7 @@ fab add.shards-on-coordinator
On the coordinator node:
```bash
# This will run default pgBench tests with PG=12.1 and Citus 9.2 and 8.3 release branches
# This will run default pgBench tests with PG=15.1 and Citus release-11.1 and main branches
# and it will log results to pgbench_results_{timemark}.csv file
# Yes, that's all :) You can change settings in fabfile/pgbench_confs/pgbench_default.ini
fab run.pgbench-tests
Expand All @@ -573,7 +573,7 @@ fab run.pgbench-tests --config-file=pgbench_default_without_transaction.ini
On the coordinator node:
```bash
# This will run scale tests with PG=12.1 and Citus 9.2 and 8.3 release branches
# This will run scale tests with PG=15.1 and Citus release-11.1 and main branches
# and it will log results to pgbench_results_{timemark}.csv file
# You can change settings in files under the fabfile/pgbench_confs/ directory
fab run.pgbench-tests --config-file=scale_test.ini
Expand All @@ -598,7 +598,7 @@ test_count: <integer> specifies total test scenarios which uses any ex
[main]
postgres_versions: ['14.5']
postgres_versions: ['15.1']
extensions: ['citus', 'hll', 'topn', 'tdigest', 'auto_explain']
test_count: 4
```
Expand Down Expand Up @@ -653,7 +653,7 @@ conf_string: '''
On the coordinator node:
```bash
# This will run default extension tests with PG=14.5
# This will run default extension tests with PG=15.1
# Yes, that's all :) You can change settings in fabfile/extension_confs/extension_default.ini
fab run.extension-tests
Expand All @@ -675,7 +675,7 @@ test_count: <integer> specifies total test scenarios which uses any ex
[main]
postgres_versions: ['14.5']
postgres_versions: ['15.1']
extensions: ['citus', 'hll', 'topn', 'tdigest', 'auto_explain']
test_count: 4
```
Expand Down Expand Up @@ -730,7 +730,7 @@ conf_string: '''
On the coordinator node:
```bash
# This will run default extension tests with PG=14.5
# This will run default extension tests with PG=15.1
# Yes, that's all :) You can change settings in fabfile/extension_confs/extension_default.ini
fab run.extension-tests

Expand Down Expand Up @@ -760,7 +760,7 @@ fab run.pgbench-tests --config-file=pgbench_cloud.ini --connectionURI='postgres:
On the coordinator node:
```bash
# This will run TPC-H tests with PG=12.1 and Citus 9.2 and 8.3 release branches
# This will run TPC-H tests with PG=15.1 and Citus release-11.1 and main branches
# and it will log results to their own files on the home directory. You can use diff to
# compare results.
# You can change settings in files under the fabfile/tpch_confs/ directory
Expand Down Expand Up @@ -812,7 +812,7 @@ cd azure
# run.valgrind check-multi-vg runs "make check-multi-vg"
# run.valgrind check-multi-1-vg runs "make check-multi-1-vg"
# run.valgrind check-columnar-vg runs "make check-columnar-vg"
tmux new -d "fab use.postgres 12.3 use.citus release-9.2 run.valgrind check-multi-vg"
tmux new -d "fab use.postgres 15.1 use.citus release-11.1 run.valgrind check-multi-vg"
# simply exit from coordinator after detaching
Expand Down Expand Up @@ -864,8 +864,8 @@ into the VM-s.
On the coordinator node:
```bash
# an example usage: Use PostgreSQL 14.2 and run valgrind test on citus/release-9.2
fab use.postgres 14.2 use.citus release-9.2 run.valgrind check-multi-vg
# an example usage: Use PostgreSQL 15.1 and run valgrind test on citus/release-11.1
fab use.postgres 15.1 use.citus release-11.1 run.valgrind check-multi-vg
```
However as valgrind tests take too much time to complete, we recommend you to run valgrind tests in a detached session:
Expand All @@ -875,7 +875,7 @@ However as valgrind tests take too much time to complete, we recommend you to ru
# run.valgrind check-multi-vg runs "make check-multi-vg"
# run.valgrind check-multi-1-vg runs "make check-multi-1-vg"
# run.valgrind check-columnar-vg runs "make check-columnar-vg"
tmux new -d "fab use.postgres 12.1 use.citus release-9.2 run.valgrind check-multi-vg"
tmux new -d "fab use.postgres 15.1 use.citus release-11.1 run.valgrind check-multi-vg"
```
After the tests are finished (takes up to 9 hours with default coordinator size), re-connect to the coordinator.
Expand All @@ -898,14 +898,14 @@ install Citus:
- `fab --list` will return a list of the tasks you can run.
- `fab setup.basic-testing`, will create a vanilla cluster with postgres and citus. Once this has run you can simply run `psql` to connect to it.
- `fab use.citus v7.1.1 setup.basic-testing` will do the same, but use the tag `v7.1.1` when installing Citus. You can give it any git ref, it defaults to `master`.
- `fab use.postgres 10.1 setup.basic-testing` lets you choose your postgres version.
- `fab use.citus release-9.2 setup.citus` will install postgres and the `release-9.2` branch of the citus repo.
- `fab use.citus v11.1.5 setup.basic-testing` will do the same, but use the tag `v11.1.5` when installing Citus. You can give it any git ref, it defaults to `main`.
- `fab use.postgres 15.1 setup.basic-testing` lets you choose your postgres version.
- `fab use.citus release-11.1 setup.citus` will install postgres and the `release-11.1` branch of the citus repo.
## <a name="fab-tasks"></a> Tasks, and Ordering of Tasks
When you run a command like `fab use.citus v7.1.1 setup.basic-testing` you are running two
different tasks: `use.citus` with a `v7.1.1` argument and `setup.basic-testing`. Those
When you run a command like `fab use.citus v11.1.5 setup.basic-testing` you are running two
different tasks: `use.citus` with a `v11.1.5` argument and `setup.basic-testing`. Those
tasks are always executed from left to right, and running them is usually equivalent to
running them as separate commands. For example:
Expand All @@ -922,18 +922,18 @@ have an effect on the current command:
```
# this works:
fab use.citus v7.1.1 setup.basic-testing
fab use.citus v11.1.5 setup.basic-testing
# this does not work:
fab use.citus v7.1.1 # tells fabric to install v7.1.1, but only works during this command
fab setup.basic-testing # will install the master branch of citus
fab use.citus v11.1.5 # tells fabric to install v11.1.5, but only works during this command
fab setup.basic-testing # will install the main branch of citus
```
`use` tasks must come before `setup` tasks:
```
# this does not work!
# since the `setup` task is run before the `use` task the `use` task will have no effect
fab setup.basic-testing use.citus v.7.1.1
fab setup.basic-testing use.citus v11.1.5
```
Finally, there are tasks, such as the ones in the `add` namespace, which asssume a cluster
Expand All @@ -948,9 +948,9 @@ These tasks configure the tasks you run after them. When run alone they have no
Some examples:
```
fab use.citus v7.1.1 setup.basic-testing
fab use.citus release-9.2 setup.citus
fab use.debug-mode use.postgres 10.1 use.citus v7.1.1 setup.basic-testing
fab use.citus v11.1.5 setup.basic-testing
fab use.citus release-11.1 setup.citus
fab use.debug-mode use.postgres 15.1 use.citus v11.1.5 setup.basic-testing
```
`use.debug-mode` passes the following flags to postges' configure: `--enable-debug --enable-cassert CFLAGS="-ggdb -Og -g3 -fno-omit-frame-pointer"`
Expand All @@ -970,7 +970,7 @@ For a complete list, run `fab --list`.
As described [above](#fab-tasks), you can run these at the same time as you run `setup` tasks:
- `fab use.citus v7.1.1 setup.citus add.shard_rebalancer` does what you'd expect.
- `fab use.citus v11.1.5 setup.citus add.shard_rebalancer` does what you'd expect.
## <a name="pg"></a> `pg` Tasks
Expand Down
2 changes: 1 addition & 1 deletion azure/azuredeploy.parameters.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"contentVersion": "1.0.0.0",
"parameters": {
"numberOfWorkers": {
"value": 1
"value": 2
},
"diskType": {
"value": "Premium_LRS"
Expand Down
2 changes: 1 addition & 1 deletion fabfile/extension_confs/extension_default.ini
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[main]
postgres_versions: ['14.5', '15beta4']
postgres_versions: ['14.6', '15.1']
extensions: ['citus', 'hll', 'topn', 'tdigest', 'auto_explain', 'bloom', 'adminpack', 'amcheck', 'btree_gin', 'btree_gist', 'citext', 'cube',
'dblink', 'dict_int', 'dict_xsyn', 'earthdistance', 'file_fdw', 'fuzzystrmatch', 'hstore', 'intarray', 'isn', 'lo', 'ltree',
'pageinspect', 'passwordcheck', 'pgcrypto', 'pgstattuple', 'pg_surgery', 'pg_trgm', 'pg_visibility', 'postgres_fdw', 'seg', 'tablefunc',
Expand Down
2 changes: 1 addition & 1 deletion fabfile/hammerdb_confs/citus_config.ini
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[DEFAULT]
postgres_citus_version: ('14.5', 'main')
postgres_citus_version: ('15.1', 'main')
postgresql_conf: [
# the following two are necessary to prevent getting timeouts, do not change them.
"tcp_keepalives_idle = 120",
Expand Down
2 changes: 1 addition & 1 deletion fabfile/pgbench_confs/pgbench_custom.ini
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[DEFAULT]
postgres_citus_versions: [('12.1', 'release-9.2'), ('12.1', 'release-9.2')]
postgres_citus_versions: [('15.1', 'release-11.1'), ('15.1', 'main')]
shard_counts_replication_factors: [(32, 1)]
postgresql_conf: [
"max_wal_size = '50GB'",
Expand Down
2 changes: 1 addition & 1 deletion fabfile/pgbench_confs/pgbench_default.ini
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[DEFAULT]
postgres_citus_versions: [('14.3', 'release-11.0')]
postgres_citus_versions: [('15.1', 'release-11.1'), ('15.1', 'main')]
shard_counts_replication_factors: [(32, 1)]

; Citus flags can be added below as well. E.g. citus.shard_replication_factor = 2
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[DEFAULT]
postgres_citus_versions: [('14.3', 'release-11.0')]
postgres_citus_versions: [('15.1', 'release-11.1'), ('15.1', 'main')]
shard_counts_replication_factors: [(32, 1)]

; Citus flags can be added below as well. E.g. citus.shard_replication_factor = 2
Expand Down
2 changes: 1 addition & 1 deletion fabfile/pgbench_confs/pgbench_issue_1799.ini
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[DEFAULT]
postgres_citus_versions: [('12.1', 'release-9.2')]
postgres_citus_versions: [('15.1', 'release-11.1'), ('15.1', 'main')]
shard_counts_replication_factors: [(32, 1)]
postgresql_conf: [
"max_wal_size = '50GB'",
Expand Down
2 changes: 1 addition & 1 deletion fabfile/pgbench_confs/scale_test.ini
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[DEFAULT]
postgres_citus_versions: [('12.1', 'release-9.2'), ('12.1', 'release-9.2')]
postgres_citus_versions: [('15.1', 'release-11.1'), ('15.1', 'main')]
shard_counts_replication_factors: [(32, 1)]
postgresql_conf: [
"max_wal_size = '50GB'",
Expand Down
2 changes: 1 addition & 1 deletion fabfile/pgbench_confs/scale_test_100_columns.ini
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[DEFAULT]
postgres_citus_versions: [('12.1', 'release-9.2'), ('12.1', 'release-9.2')]
postgres_citus_versions: [('15.1', 'release-11.1'), ('15.1', 'main')]
shard_counts_replication_factors: [(32, 1)]
postgresql_conf: [
"max_wal_size = '50GB'",
Expand Down
2 changes: 1 addition & 1 deletion fabfile/pgbench_confs/scale_test_foreign.ini
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[DEFAULT]
postgres_citus_versions: [('12.1', 'release-9.2'), ('12.1', 'release-9.2')]
postgres_citus_versions: [('15.1', 'release-11.1'), ('15.1', 'main')]
shard_counts_replication_factors: [(32, 1)]
postgresql_conf: [
"max_wal_size = '50GB'",
Expand Down
2 changes: 1 addition & 1 deletion fabfile/pgbench_confs/scale_test_no_index.ini
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[DEFAULT]
postgres_citus_versions: [('12.1', 'release-9.2'), ('12.1', 'release-9.2')]
postgres_citus_versions: [('15.1', 'release-11.1'), ('15.1', 'main')]
shard_counts_replication_factors: [(32, 1)]
postgresql_conf: [
"max_wal_size = '50GB'",
Expand Down
2 changes: 1 addition & 1 deletion fabfile/pgbench_confs/scale_test_prepared.ini
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[DEFAULT]
postgres_citus_versions: [('12.1', 'release-9.2'), ('12.1', 'release-9.2')]
postgres_citus_versions: [('15.1', 'release-11.1'), ('15.1', 'main')]
shard_counts_replication_factors: [(32, 1)]
postgresql_conf: [
"max_wal_size = '50GB'",
Expand Down
2 changes: 1 addition & 1 deletion fabfile/pgbench_confs/scale_test_reference.ini
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[DEFAULT]
postgres_citus_versions: [('12.1', 'release-9.2'), ('12.1', 'release-9.2')]
postgres_citus_versions: [('15.1', 'release-11.1'), ('15.1', 'main')]
shard_counts_replication_factors: [(32, 1)]
postgresql_conf: [
"max_wal_size = '50GB'",
Expand Down
2 changes: 1 addition & 1 deletion fabfile/tpch_confs/tpch_default.ini
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[test]
postgres_citus_versions: [('14.3', 'release-11.0')]
postgres_citus_versions: [('15.1', 'release-11.1'), ('15.1', 'main')]
tpch_tasks_executor_types: [('1.sql', 'adaptive'), ('3.sql', 'adaptive'), ('5.sql', 'adaptive'), ('6.sql', 'adaptive')
,('7.sql', 'adaptive'), ('8.sql', 'adaptive'), ('9.sql', 'adaptive'), ('10.sql', 'adaptive')
, ('12.sql', 'adaptive'), ('14.sql', 'adaptive'), ('19.sql', 'adaptive')]
Expand Down
2 changes: 1 addition & 1 deletion fabfile/tpch_confs/tpch_q1.ini
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
[test]
postgres_citus_versions: [('12.1', 'release-11.0')]
postgres_citus_versions: [('15.1', 'release-11.1'), ('15.1', 'main')]
tpch_tasks_executor_types: [('1.sql', 'real-time')]
scale_factor: 1
2 changes: 1 addition & 1 deletion fabfile/use.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

@task(positional=['version'])
def citus(c, version):
'Choose a citus version. For example: fab use.citus v6.0.1 setup.basic-testing (defaults to master)'
'Choose a citus version. For example: fab use.citus v11.1.5 setup.basic-testing (defaults to master)'
if multi_connections.execute_on_all_nodes_if_no_hosts(c, citus, version):
return

Expand Down
2 changes: 1 addition & 1 deletion hammerdb/create-run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ set -x
is_tpcc=${IS_TPCC:=true} # set to true if you want tpcc to be run, otherwise set to false
is_ch=${IS_CH:=false} # set to true if you want ch benchmark to be run, otherwise set to false
username=pguser # username of the database
hammerdb_version=4.4 # (4.4+ recommended) find available versions in download-hammerdb.sh
hammerdb_version=4.6 # (4.4+ recommended) find available versions in download-hammerdb.sh

# ssh_execute is used to run a command multiple times on ssh, this is because we sometimes get timeouts
# while trying to ssh, and it shouldn't make the script fail. If a command actually fails, it will always
Expand Down
14 changes: 12 additions & 2 deletions hammerdb/download-hammerdb.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,17 @@ if test -d "HammerDB-$1"; then
exit
fi

if [ "$1" == 4.4 ]
if [ "$1" == 4.6 ]
then
SHA1=f1ce8891e24dba9dfa99c16781673f37d71e94df
OUTPUT=HammerDB-4.6-Linux.tar.gz
URL=https://github.com/TPC-Council/HammerDB/releases/download/v4.6/$OUTPUT
elif [ "$1" == 4.5 ]
then
SHA1=98c924ad4e99d6f55ef89f098ce638455473dba6
OUTPUT=HammerDB-4.5-Linux.tar.gz
URL=https://github.com/TPC-Council/HammerDB/releases/download/v4.5/$OUTPUT
elif [ "$1" == 4.4 ]
then
SHA1=5347e06baad690336afa6d354330cd59d98343cc
OUTPUT=HammerDB-4.4-Linux.tar.gz
Expand All @@ -31,7 +41,7 @@ then
OUTPUT=HammerDB-3.3-Linux.tar.gz
URL=https://github.com/TPC-Council/HammerDB/releases/download/v3.3/$OUTPUT
else
echo 'Expects version parameter. Supported versions: 3.3 4.0 4.3 4.4' 1>&2
echo 'Expects version parameter. Supported versions: 3.3 4.0 4.3 4.4 4.5 4.6' 1>&2
exit 1
fi

Expand Down
2 changes: 1 addition & 1 deletion hammerdb/setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ mv HammerDB-"${hammerdb_version}" ~/

# postgres is necessary for hammerdb, so install that
sudo yum -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo yum -y install postgresql14-server postgresql14
sudo yum -y install postgresql15-server postgresql15

cd "${driverdir}"

Expand Down
4 changes: 2 additions & 2 deletions jdbc/jdbc_config.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"pg_version": "14.3",
"citus_branch": "release-11.0",
"pg_version": "15.1",
"citus_branch": "release-11.1",
"COMMENT_NOT_PARSED": "You can lookup jdbc versions at: https://jdbc.postgresql.org/download.html",
"jdbc_version": "42.3.6"
}
8 changes: 4 additions & 4 deletions release/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@
# Usage of update_files.sh

If you will test a custom branch, you can update all the config files with `./update_files.sh`. Say that you
will do the release testing for `release-9.2` and `release-9.3`. You can do the following:
will do the release testing for `release-11.1` and `main`. You can do the following:

```bash
vim update_files.sh

new_branch1=release-9.3
new_branch2=release-9.2
new_pg_version=12.2
new_branch1=release-11.1
new_branch2=main
new_pg_version=15.1

./update_files.sh # this will update all the branches correctly
git diff #make sure that everything is fine
Expand Down
6 changes: 3 additions & 3 deletions release/update_files.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ set -e
set -x

## VARIABLES ##
new_branch1=release-9.3
new_branch2=release-9.2
new_pg_version=12.2
new_branch1=release-11.1
new_branch2=main
new_pg_version=15.1
## VARIABLES ##

releasedir="${0%/*}"
Expand Down

0 comments on commit 9a1e37c

Please sign in to comment.