33 Commits

Author SHA1 Message Date
Sven Klemm
e3437786ad Make multinode tests conditional
Since multinode tests take a long time to run we dont want to run
them in CI on individual PRs but only on nightly runs.
2023-08-30 15:32:42 +02:00
Lakshmi Narayanan Sreethar
61c288ec5e Fix broken CI after PG12 removal
The commit cdea343cc updated the gh_matrix_builder.py script but failed
to import PG_LATEST variable into the script thus breaking the CI.
Import that variable to fix the CI tests.
2023-07-25 18:31:28 +05:30
Lakshmi Narayanan Sreethar
cdea343cc9 Remove PG12 support from github workflows 2023-07-25 16:00:18 +05:30
Alexander Kuzmenkov
7657efe019 Cache the libfuzzer corpus between CI runs
This might help us find something interesting. Also add deltadelta/int8
fuzzing and make other minor improvements.
2023-07-06 17:57:04 +02:00
Alexander Kuzmenkov
29154b29d1 Ignore the telemetry test for the time begin
It's the fifths run and it still fails in some jobs.
2023-05-25 11:35:07 +02:00
Ante Kresic
8e69a9989f Ignore multinode tests from PR CI runs
dist_move_chunk, dist_param, dist_insert and remote_txn
create a lot of friction due to their flakiness.
Ignoring them until we can fix them.
2023-05-08 09:13:34 +02:00
Bharathy
44dc042bb3 Fixed transparent decompress chunk test which seem to be flaky. 2023-04-24 19:58:02 +05:30
shhnwz
ca472ebb0d Fixed transparent decompress chunk
Transparent decompress chunk was added into to ignore list due to
the side effect of #5118. This issue is to fix the flaky nature of
the test.
2023-04-18 14:12:22 +05:30
shhnwz
699fcf48aa Stats improvement for Uncompressed Chunks
During the compression autovacuum use to be disabled for uncompressed
chunk and enable after decompression. This leads to postgres
maintainence issue. Let's not disable autovacuum for uncompressed
chunk anymore. Let postgres take care of the stats in its natural way.

Fixes #309
2023-03-22 23:51:13 +05:30
Lakshmi Narayanan Sreethar
1a3e7ad7d1 Run dist_move_chunk as a solo test in PG15
When run in a parallel group, the dist_move_chunk test can get into a
deadlock with another test running a 'DROP DATABASE' command. So, mark
it as a solo test to disallow it from running in a parallel group.

Closes #4972
2023-01-31 14:26:17 +05:30
Alexander Kuzmenkov
21a3f8206c Run python linter and formatter in CI
Helps find some errors and cosmetic problems.
2023-01-30 13:49:26 +04:00
Lakshmi Narayanan Sreethar
06eca172bd Fix telemetry_stats test failure in PG15
The telemetry_stats testcase uses random() with seed(1) to generate the
column values on which the hypertable is partitioned. The Postgres commit
postgres/postgres@3804539e48 updates the random() implementation to use a
better algorithim causing the test to generate a different set of rows in
PG15. Due to this the test failed in PG15 as the distrubution stats of
the tuples have now changed. Fixed that by creating separate test
outputs for PG15 and other releases.

Fixes #5037
2023-01-10 21:04:49 +05:30
Lakshmi Narayanan Sreethar
a4806827dc Enable PG15 in various CI checks
This commit enables PG15 in the following workflows:
 - Regression Linux
 - ABI test
 - Memory tests
 - Coverity
 - SQLSmith
 - Additional cron tests

Co-authored-by: Bharathy Satish <bharathy@timescale.com>
2022-12-20 23:39:47 +05:30
Bharathy
bfed42c2d3 Fix remote_txn on PG15
In remote_txn, testcases which kill remote processes on data nodes,
tend to rollback transactions and as part of the process, WARNINGS/ERROR
are reported to client. Client however reports WARNINGS/ERROR in different
order intermittently. This is an issue specific to psql utility. Placing
psql in gdb and trying to diagnise the problem does not reproduce the issue.

This patch fixes the tests by not reporting WARNINGS.

Fixes #4837
2022-12-06 12:07:49 +05:30
Bharathy
7bfd28a02f Fix dist_fetcher_type test on PG15 2022-11-24 18:41:46 +05:30
Lakshmi Narayanan Sreethar
7bc6e56cb7 Fix plan_hashagg test failure in PG15
Updated the expected output of plan_hashagg to reflect changes introduced
by postgres/postgres@4b160492.
2022-11-22 22:36:22 +05:30
Bharathy
89cede81bd Fix PG15 specific tests. 2022-11-21 16:09:42 +05:30
Lakshmi Narayanan Sreethar
7c32ceb073 Fix perl test import in PG15
Removed an invalid import from 007_healthcheck.pl test.
Also enabled all the perl tests and a couple of others in PG15.
2022-11-18 13:55:59 +05:30
Bharathy
bfa641a81c INSERT .. SELECT on distributed hypertable fails on PG15
INSERT .. SELECT query containing distributed hypertables generates plan
with DataNodeCopy node which is not supported. Issue is in function
tsl_create_distributed_insert_path() where we decide if we should
generate DataNodeCopy or DataNodeDispatch node based on the kind of
query. In PG15 for INSERT .. SELECT query timescaledb planner generates
DataNodeCopy as rte->subquery is set to NULL. This is because of a commit
in PG15 where rte->subquery is set to NULL as part of a fix.

This patch checks if SELECT subquery has distributed hypertables or not
by looking into root->parse->jointree which represents subquery.

Fixes #4983
2022-11-17 21:18:23 +05:30
Lakshmi Narayanan Sreethar
839e42dd0c Use async API to drop database from delete_data_node
PG15 introduced a ProcSignalBarrier mechanism in drop database
implementation to force all backends to close the file handles for
dropped tables. The backend that is executing the drop database command
will emit a new process signal barrier and wait for other backends to
accept it. But the backend which is executing the delete_data_node
function will not be able to process the above mentioned signal as it
will be stuck waiting for the drop database query to return. Thus the
two backends end up waiting for each other causing a deadlock.

Fixed it by using the async API to execute the drop database command
from delete_data_node instead of the blocking remote_connection_cmdf_ok
call.

Fixes #4838
2022-11-17 18:09:39 +05:30
Lakshmi Narayanan Sreethar
33531212b2 Disable dist_move_chunk test in PG15
The dist_move_chunk causes the CI to hang when compiled and run with
PG15 as explained in #4972.

Also fixed schema permission issues in data_node and dist_param tests.
2022-11-15 14:10:45 +05:30
Alexander Kuzmenkov
0360812e3c Simplify llvm configuration for linux/macos builds
Set it only in the matrixbuilder.
2022-11-14 17:35:50 +04:00
Alexander Kuzmenkov
6ad28248f3 Change the flaky check to use output files
This is simpler, accounts for both sql and isolation tests, changes in
included files, and versioned tests.
2022-11-10 13:46:20 +04:00
Bharathy
3a9688cc97 Extra Result node on top of CustomScan on PG15
On PG15 CustomScan by default is not projection capable, thus wraps this
node in Result node. THis change in PG15 causes tests result files which
have EXPLAIN output to fail. This patch fixes the plan outputs.

Fixes #4833
2022-11-07 21:20:08 +05:30
Bharathy
12745c8806 Fix error: variable not found in subplan target list on PG15
On PG15 new flag CUSTOMPATH_SUPPORT_PROJECTION is introduced. This flag
tells if a planner node is projection capable or not. CustomScan created
in TimescaleDB by default is not projection capable, this causes CustomScan
node to be wrapped around Result node. Update query on a hypertable has
a logic which is based on assumption that "ModifyTable" plan nodes lefttree
should be CustomScan node. With PG15 this assumption is broken which causes
"ERROR:  variable not found in subplan target list".

Fixes #4834
2022-11-07 14:20:10 +05:30
Bharathy
c06b647680 pg_dump on PG15 does not log messages with log level set to PG_LOG_INFO.
Version 15 pg_dump program does not log any messages with log level <
PG_LOG_WARNING to stdout. Whereas this check is not present in version
14, thus we see corresponding tests fail with missing log information.
This patch fixes by supressing those log information, so that the tests
pass on all versions of postgresql.

Fixes #4832
2022-11-01 20:13:17 +05:30
Alexander Kuzmenkov
d51fefb744 Add the Flaky Check
It runs new or changed tests multiple times to find flakiness.
2022-10-31 18:51:32 +04:00
Alexander Kuzmenkov
864da20cee Build on Ubuntu 22.04
It has newer GCC which should detect more warnings.
2022-10-26 23:32:05 +04:00
Mats Kindahl
84b2fef6ef Fix GitHub output action
To avoid untrusted logged data to use `set-state` and `set-output`
workflow commands without the intention of the workflow author GitHub
have introduced a new set of environment files to manage state and
output.

This commit changes the existing uses of `set-output` to use the new
environment files instead.

See https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
2022-10-21 11:10:09 +02:00
Bharathy
d218715d5c Fix tests which fail on PG15
When TimescaleDB 2.9.0 compiled against PG15, many tests fail due to
permissions on default public schema not getting propagated to data
nodes, although connected user has required GRANTS on access nodes.
This patch fixes failing tests by explicitly granting required permissions
for connected user or role after data nodes are added.
2022-10-19 17:57:54 +05:30
Konstantina Skovola
54ed0d5c05 Introduce fixed schedules for background jobs
Currently, the next start of a scheduled background job is
calculated by adding the `schedule_interval` to its finish
time. This does not allow scheduling jobs to execute at fixed
times, as the next execution is "shifted" by the job duration.

This commit introduces the option to execute a job on a fixed
schedule instead. Users are expected to provide an initial_start
parameter on which subsequent job executions are aligned. The next
start is calculated by computing the next time_bucket of the finish
time with initial_start origin.
An `initial_start` parameter is added to the compression, retention,
reorder and continuous aggregate `add_policy` signatures. By passing
that upon policy creation users indicate the policy will execute on
a fixed schedule, or drifting schedule if `initial_start` is not
provided.
To allow users to pick a drifting schedule when registering a UDA,
an additional parameter `fixed_schedule` is added to `add_job`
to allow users to specify the old behavior by setting it to false.

Additionally, an optional TEXT parameter, `timezone`, is added to both
add_job and add_policy signatures, to address the 1-hour shift in
execution time caused by DST switches. As internally the next start of
a fixed schedule job is calculated using time_bucket, the timezone
parameter allows using timezone-aware buckets to calculate
the next start.
2022-10-18 18:46:57 +03:00
Bharathy
0e32656b54 Support for PG15.
As part of this patch, added and fixed some of the regress checks which
fail on PG15.
2022-10-17 21:43:44 +05:30
Sven Klemm
0c6f4e2458 Centralize CI settings
This patch adds a new settings file for common github action settings.
Instead of repeating latest pg versions in every github workflow we
can read the settings from this central file.
2022-08-15 13:02:34 +02:00