mirror of
https://github.com/timescale/timescaledb.git
synced 2025-05-16 18:43:18 +08:00
Fix bgw_db_scheduler_fixed flakyness
Depending on date boundaries the number of chunks produced for the cagg hypertable was not constant resulting on flaky tests on certain days.
This commit is contained in:
parent
3d30f07bf4
commit
20cdd9ca3e
@ -1619,6 +1619,12 @@ SELECT time_bucket('1 month', time), avg(a)
|
||||
FROM test_table_scheduler
|
||||
GROUP BY time_bucket('1 month', time)
|
||||
WITH NO DATA;
|
||||
SELECT set_chunk_time_interval('_timescaledb_internal._materialized_hypertable_2', interval '36500 days');
|
||||
set_chunk_time_interval
|
||||
-------------------------
|
||||
|
||||
(1 row)
|
||||
|
||||
select show_chunks('test_table_scheduler');
|
||||
show_chunks
|
||||
----------------------------------------
|
||||
@ -1694,11 +1700,11 @@ select hypertable_schema, hypertable_name, chunk_schema, chunk_name, is_compress
|
||||
_timescaledb_internal | _materialized_hypertable_2 | _timescaledb_internal | _hyper_2_10_chunk | f
|
||||
(5 rows)
|
||||
|
||||
select avg_a from cagg_scheduler;
|
||||
select avg_a from cagg_scheduler ORDER BY 1;
|
||||
avg_a
|
||||
--------------------
|
||||
4.0000000000000000
|
||||
3.0000000000000000
|
||||
4.0000000000000000
|
||||
(2 rows)
|
||||
|
||||
-- test the API for add_job too
|
||||
@ -1747,14 +1753,21 @@ select * from _timescaledb_config.bgw_job order by id;
|
||||
1031 | Reorder Policy [1031] | @ 360 hours | @ 0 | -1 | @ 5 mins | _timescaledb_internal | policy_reorder | super_user | t | t | Fri Dec 31 16:00:00.015 1999 PST | 1 | {"index_name": "test_table_scheduler_time_idx", "hypertable_id": 1} | _timescaledb_internal | policy_reorder_check | Europe/Berlin
|
||||
(6 rows)
|
||||
|
||||
select job_id, last_start, last_finish, next_start, last_successful_finish from _timescaledb_internal.bgw_job_stat order by job_id;
|
||||
job_id | last_start | last_finish | next_start | last_successful_finish
|
||||
--------+----------------------------------+----------------------------------+----------------------------------+----------------------------------
|
||||
1026 | Fri Dec 31 16:00:00 1999 PST | Fri Dec 31 16:00:00 1999 PST | Sat Jan 01 16:00:00 2000 PST | Fri Dec 31 16:00:00 1999 PST
|
||||
1027 | Fri Dec 31 16:00:00 1999 PST | Fri Dec 31 16:00:00 1999 PST | Sat Jan 15 16:00:00 2000 PST | Fri Dec 31 16:00:00 1999 PST
|
||||
1028 | Fri Dec 31 16:00:00.005 1999 PST | Fri Dec 31 16:00:00.005 1999 PST | Fri Jan 21 16:00:00.005 2000 PST | Fri Dec 31 16:00:00.005 1999 PST
|
||||
1029 | Fri Dec 31 16:00:00.025 1999 PST | Fri Dec 31 16:00:00.025 1999 PST | Mon Jul 31 16:00:00.01 2000 PDT | Fri Dec 31 16:00:00.025 1999 PST
|
||||
1030 | Fri Dec 31 16:00:00.025 1999 PST | Fri Dec 31 16:00:00.025 1999 PST | Mon Jul 31 16:00:00.01 2000 PDT | Fri Dec 31 16:00:00.025 1999 PST
|
||||
1031 | Fri Dec 31 16:00:00.025 1999 PST | Fri Dec 31 16:00:00.025 1999 PST | Sat Jan 15 16:00:00.015 2000 PST | Fri Dec 31 16:00:00.025 1999 PST
|
||||
SELECT
|
||||
job_id,
|
||||
date_trunc('second',last_start) AS last_start,
|
||||
date_trunc('second',last_finish) AS last_finish,
|
||||
date_trunc('second',next_start) AS next_start,
|
||||
last_successful_finish
|
||||
FROM _timescaledb_internal.bgw_job_stat
|
||||
ORDER BY job_id;
|
||||
job_id | last_start | last_finish | next_start | last_successful_finish
|
||||
--------+------------------------------+------------------------------+------------------------------+----------------------------------
|
||||
1026 | Fri Dec 31 16:00:00 1999 PST | Fri Dec 31 16:00:00 1999 PST | Sat Jan 01 16:00:00 2000 PST | Fri Dec 31 16:00:00 1999 PST
|
||||
1027 | Fri Dec 31 16:00:00 1999 PST | Fri Dec 31 16:00:00 1999 PST | Sat Jan 15 16:00:00 2000 PST | Fri Dec 31 16:00:00 1999 PST
|
||||
1028 | Fri Dec 31 16:00:00 1999 PST | Fri Dec 31 16:00:00 1999 PST | Fri Jan 21 16:00:00 2000 PST | Fri Dec 31 16:00:00.005 1999 PST
|
||||
1029 | Fri Dec 31 16:00:00 1999 PST | Fri Dec 31 16:00:00 1999 PST | Mon Jul 31 16:00:00 2000 PDT | Fri Dec 31 16:00:00.025 1999 PST
|
||||
1030 | Fri Dec 31 16:00:00 1999 PST | Fri Dec 31 16:00:00 1999 PST | Mon Jul 31 16:00:00 2000 PDT | Fri Dec 31 16:00:00.025 1999 PST
|
||||
1031 | Fri Dec 31 16:00:00 1999 PST | Fri Dec 31 16:00:00 1999 PST | Sat Jan 15 16:00:00 2000 PST | Fri Dec 31 16:00:00.025 1999 PST
|
||||
(6 rows)
|
||||
|
||||
|
@ -703,6 +703,8 @@ FROM test_table_scheduler
|
||||
GROUP BY time_bucket('1 month', time)
|
||||
WITH NO DATA;
|
||||
|
||||
SELECT set_chunk_time_interval('_timescaledb_internal._materialized_hypertable_2', interval '36500 days');
|
||||
|
||||
select show_chunks('test_table_scheduler');
|
||||
|
||||
alter table test_table_scheduler set (timescaledb.compress, timescaledb.compress_orderby = 'time DESC');
|
||||
@ -717,7 +719,7 @@ SELECT * from _timescaledb_internal.bgw_job_stat;
|
||||
|
||||
SELECT show_chunks('test_table_scheduler');
|
||||
select hypertable_schema, hypertable_name, chunk_schema, chunk_name, is_compressed from timescaledb_information.chunks ;
|
||||
select avg_a from cagg_scheduler;
|
||||
select avg_a from cagg_scheduler ORDER BY 1;
|
||||
-- test the API for add_job too
|
||||
create or replace procedure job_test_fixed(jobid int, config jsonb) language plpgsql as $$
|
||||
begin
|
||||
@ -737,4 +739,14 @@ initial_start => :'init'::timestamptz + interval '15 ms', timezone => 'Europe/Be
|
||||
SELECT ts_bgw_db_scheduler_test_run_and_wait_for_scheduler_finish(25);
|
||||
|
||||
select * from _timescaledb_config.bgw_job order by id;
|
||||
select job_id, last_start, last_finish, next_start, last_successful_finish from _timescaledb_internal.bgw_job_stat order by job_id;
|
||||
|
||||
SELECT
|
||||
job_id,
|
||||
date_trunc('second',last_start) AS last_start,
|
||||
date_trunc('second',last_finish) AS last_finish,
|
||||
date_trunc('second',next_start) AS next_start,
|
||||
last_successful_finish
|
||||
FROM _timescaledb_internal.bgw_job_stat
|
||||
ORDER BY job_id;
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user