From e62a1ab43df847a598672a962a42f009e51557e9 Mon Sep 17 00:00:00 2001 From: Jason Petersen Date: Thu, 30 Aug 2018 17:14:52 -0600 Subject: [PATCH 1/2] Revert "Disable JIT during PostgreSQL 11 test runs" This reverts commit a2fb5a84f108aacffafd3a2d63e797d098f1f7dc. JIT wasn't actually interfering with the operation of Citus, a test was just written in a way which caused JIT to run for a function on every row in a 150k-row table. --- src/test/regress/pg_regress_multi.pl | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/test/regress/pg_regress_multi.pl b/src/test/regress/pg_regress_multi.pl index 9ba5aff72..05771a193 100755 --- a/src/test/regress/pg_regress_multi.pl +++ b/src/test/regress/pg_regress_multi.pl @@ -313,11 +313,6 @@ push(@pgOptions, '-c', "citus.remote_task_check_interval=1ms"); push(@pgOptions, '-c', "citus.shard_replication_factor=2"); push(@pgOptions, '-c', "citus.node_connection_timeout=${connectionTimeout}"); -if ($majorversion >= 11) -{ - push(@pgOptions, '-c', "jit=off"); -} - if ($useMitmproxy) { # make tests reproducible by never trying to negotiate ssl From d7f10b0896ea0faa163e82c6a8eddc6c83cb0d33 Mon Sep 17 00:00:00 2001 From: Jason Petersen Date: Thu, 30 Aug 2018 17:23:15 -0600 Subject: [PATCH 2/2] Rewrite parallel ID test to avoid costly JITting By setting the CPU tuple cost so high, we were triggering JIT. Instead, we should use parallel_tuple_cost. See: rhaas.blogspot.com/2018/06/using-forceparallelmode-correctly.html --- .../regress/expected/multi_distributed_transaction_id.out | 4 ++-- src/test/regress/sql/multi_distributed_transaction_id.sql | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/test/regress/expected/multi_distributed_transaction_id.out b/src/test/regress/expected/multi_distributed_transaction_id.out index 7c04d1c56..00d326dfc 100644 --- a/src/test/regress/expected/multi_distributed_transaction_id.out +++ b/src/test/regress/expected/multi_distributed_transaction_id.out @@ -143,8 +143,8 @@ CREATE UNLOGGED TABLE parallel_id_test AS SELECT s AS a, s AS b, s AS c, s AS d, s AS e, s AS f, s AS g, s AS h FROM generate_series(1,150000) s; INSERT INTO parallel_id_test VALUES (1234567), (1234567), (1234568), (1234568); ANALYSE parallel_id_test; -SET LOCAL max_parallel_workers_per_gather TO 8; -SET LOCAL cpu_tuple_cost TO 1000000; +SET LOCAL max_parallel_workers_per_gather TO 2; +SET LOCAL parallel_tuple_cost TO 0; EXPLAIN (COSTS OFF) SELECT a FROM parallel_id_test WHERE a = parallel_worker_transaction_id_test(); QUERY PLAN diff --git a/src/test/regress/sql/multi_distributed_transaction_id.sql b/src/test/regress/sql/multi_distributed_transaction_id.sql index 5e185162c..2759a2610 100644 --- a/src/test/regress/sql/multi_distributed_transaction_id.sql +++ b/src/test/regress/sql/multi_distributed_transaction_id.sql @@ -96,8 +96,8 @@ SELECT s AS a, s AS b, s AS c, s AS d, s AS e, s AS f, s AS g, s AS h FROM gener INSERT INTO parallel_id_test VALUES (1234567), (1234567), (1234568), (1234568); ANALYSE parallel_id_test; -SET LOCAL max_parallel_workers_per_gather TO 8; -SET LOCAL cpu_tuple_cost TO 1000000; +SET LOCAL max_parallel_workers_per_gather TO 2; +SET LOCAL parallel_tuple_cost TO 0; EXPLAIN (COSTS OFF) SELECT a FROM parallel_id_test WHERE a = parallel_worker_transaction_id_test();