mirror of
https://github.com/timescale/timescaledb.git
synced 2025-05-17 19:13:16 +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
|
FROM test_table_scheduler
|
||||||
GROUP BY time_bucket('1 month', time)
|
GROUP BY time_bucket('1 month', time)
|
||||||
WITH NO DATA;
|
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');
|
select show_chunks('test_table_scheduler');
|
||||||
show_chunks
|
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
|
_timescaledb_internal | _materialized_hypertable_2 | _timescaledb_internal | _hyper_2_10_chunk | f
|
||||||
(5 rows)
|
(5 rows)
|
||||||
|
|
||||||
select avg_a from cagg_scheduler;
|
select avg_a from cagg_scheduler ORDER BY 1;
|
||||||
avg_a
|
avg_a
|
||||||
--------------------
|
--------------------
|
||||||
4.0000000000000000
|
|
||||||
3.0000000000000000
|
3.0000000000000000
|
||||||
|
4.0000000000000000
|
||||||
(2 rows)
|
(2 rows)
|
||||||
|
|
||||||
-- test the API for add_job too
|
-- 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
|
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)
|
(6 rows)
|
||||||
|
|
||||||
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 | last_start | last_finish | next_start | last_successful_finish
|
job_id,
|
||||||
--------+----------------------------------+----------------------------------+----------------------------------+----------------------------------
|
date_trunc('second',last_start) AS last_start,
|
||||||
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
|
date_trunc('second',last_finish) AS last_finish,
|
||||||
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
|
date_trunc('second',next_start) AS next_start,
|
||||||
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
|
last_successful_finish
|
||||||
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
|
FROM _timescaledb_internal.bgw_job_stat
|
||||||
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
|
ORDER BY job_id;
|
||||||
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
|
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)
|
(6 rows)
|
||||||
|
|
||||||
|
@ -703,6 +703,8 @@ FROM test_table_scheduler
|
|||||||
GROUP BY time_bucket('1 month', time)
|
GROUP BY time_bucket('1 month', time)
|
||||||
WITH NO DATA;
|
WITH NO DATA;
|
||||||
|
|
||||||
|
SELECT set_chunk_time_interval('_timescaledb_internal._materialized_hypertable_2', interval '36500 days');
|
||||||
|
|
||||||
select show_chunks('test_table_scheduler');
|
select show_chunks('test_table_scheduler');
|
||||||
|
|
||||||
alter table test_table_scheduler set (timescaledb.compress, timescaledb.compress_orderby = 'time DESC');
|
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 show_chunks('test_table_scheduler');
|
||||||
select hypertable_schema, hypertable_name, chunk_schema, chunk_name, is_compressed from timescaledb_information.chunks ;
|
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
|
-- test the API for add_job too
|
||||||
create or replace procedure job_test_fixed(jobid int, config jsonb) language plpgsql as $$
|
create or replace procedure job_test_fixed(jobid int, config jsonb) language plpgsql as $$
|
||||||
begin
|
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 ts_bgw_db_scheduler_test_run_and_wait_for_scheduler_finish(25);
|
||||||
|
|
||||||
select * from _timescaledb_config.bgw_job order by id;
|
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