mirror of https://github.com/citusdata/citus.git
Add maintenance daemon error tests
parent
2e02a30e37
commit
18219843d0
|
@ -723,3 +723,62 @@ CONTEXT: PL/pgSQL function inline_code_block line 6 at RAISE
|
||||||
DROP DATABASE another;
|
DROP DATABASE another;
|
||||||
\c - - - :worker_1_port
|
\c - - - :worker_1_port
|
||||||
DROP DATABASE another;
|
DROP DATABASE another;
|
||||||
|
\c - - - :master_port
|
||||||
|
-- only the regression database should have a maintenance daemon
|
||||||
|
SELECT count(*) FROM pg_stat_activity WHERE application_name = 'Citus Maintenance Daemon';
|
||||||
|
count
|
||||||
|
---------------------------------------------------------------------
|
||||||
|
1
|
||||||
|
(1 row)
|
||||||
|
|
||||||
|
-- recreate the extension immediately after the maintenancae daemon errors
|
||||||
|
SELECT pg_cancel_backend(pid) FROM pg_stat_activity WHERE application_name = 'Citus Maintenance Daemon';
|
||||||
|
pg_cancel_backend
|
||||||
|
---------------------------------------------------------------------
|
||||||
|
t
|
||||||
|
(1 row)
|
||||||
|
|
||||||
|
DROP EXTENSION citus;
|
||||||
|
CREATE EXTENSION citus;
|
||||||
|
-- wait for maintenance daemon restart
|
||||||
|
SELECT datname, current_database(),
|
||||||
|
usename, (SELECT extowner::regrole::text FROM pg_extension WHERE extname = 'citus')
|
||||||
|
FROM test.maintenance_worker();
|
||||||
|
datname | current_database | usename | extowner
|
||||||
|
---------------------------------------------------------------------
|
||||||
|
regression | regression | postgres | postgres
|
||||||
|
(1 row)
|
||||||
|
|
||||||
|
-- confirm that there is only one maintenance daemon
|
||||||
|
SELECT count(*) FROM pg_stat_activity WHERE application_name = 'Citus Maintenance Daemon';
|
||||||
|
count
|
||||||
|
---------------------------------------------------------------------
|
||||||
|
1
|
||||||
|
(1 row)
|
||||||
|
|
||||||
|
-- kill the maintenance daemon
|
||||||
|
SELECT pg_cancel_backend(pid) FROM pg_stat_activity WHERE application_name = 'Citus Maintenance Daemon';
|
||||||
|
pg_cancel_backend
|
||||||
|
---------------------------------------------------------------------
|
||||||
|
t
|
||||||
|
(1 row)
|
||||||
|
|
||||||
|
-- reconnect
|
||||||
|
\c - - - :master_port
|
||||||
|
-- wait for maintenance daemon restart
|
||||||
|
SELECT datname, current_database(),
|
||||||
|
usename, (SELECT extowner::regrole::text FROM pg_extension WHERE extname = 'citus')
|
||||||
|
FROM test.maintenance_worker();
|
||||||
|
datname | current_database | usename | extowner
|
||||||
|
---------------------------------------------------------------------
|
||||||
|
regression | regression | postgres | postgres
|
||||||
|
(1 row)
|
||||||
|
|
||||||
|
-- confirm that there is only one maintenance daemon
|
||||||
|
SELECT count(*) FROM pg_stat_activity WHERE application_name = 'Citus Maintenance Daemon';
|
||||||
|
count
|
||||||
|
---------------------------------------------------------------------
|
||||||
|
1
|
||||||
|
(1 row)
|
||||||
|
|
||||||
|
DROP TABLE version_mismatch_table;
|
||||||
|
|
|
@ -448,3 +448,35 @@ DROP DATABASE another;
|
||||||
\c - - - :worker_1_port
|
\c - - - :worker_1_port
|
||||||
DROP DATABASE another;
|
DROP DATABASE another;
|
||||||
|
|
||||||
|
\c - - - :master_port
|
||||||
|
-- only the regression database should have a maintenance daemon
|
||||||
|
SELECT count(*) FROM pg_stat_activity WHERE application_name = 'Citus Maintenance Daemon';
|
||||||
|
|
||||||
|
-- recreate the extension immediately after the maintenancae daemon errors
|
||||||
|
SELECT pg_cancel_backend(pid) FROM pg_stat_activity WHERE application_name = 'Citus Maintenance Daemon';
|
||||||
|
DROP EXTENSION citus;
|
||||||
|
CREATE EXTENSION citus;
|
||||||
|
|
||||||
|
-- wait for maintenance daemon restart
|
||||||
|
SELECT datname, current_database(),
|
||||||
|
usename, (SELECT extowner::regrole::text FROM pg_extension WHERE extname = 'citus')
|
||||||
|
FROM test.maintenance_worker();
|
||||||
|
|
||||||
|
-- confirm that there is only one maintenance daemon
|
||||||
|
SELECT count(*) FROM pg_stat_activity WHERE application_name = 'Citus Maintenance Daemon';
|
||||||
|
|
||||||
|
-- kill the maintenance daemon
|
||||||
|
SELECT pg_cancel_backend(pid) FROM pg_stat_activity WHERE application_name = 'Citus Maintenance Daemon';
|
||||||
|
|
||||||
|
-- reconnect
|
||||||
|
\c - - - :master_port
|
||||||
|
|
||||||
|
-- wait for maintenance daemon restart
|
||||||
|
SELECT datname, current_database(),
|
||||||
|
usename, (SELECT extowner::regrole::text FROM pg_extension WHERE extname = 'citus')
|
||||||
|
FROM test.maintenance_worker();
|
||||||
|
|
||||||
|
-- confirm that there is only one maintenance daemon
|
||||||
|
SELECT count(*) FROM pg_stat_activity WHERE application_name = 'Citus Maintenance Daemon';
|
||||||
|
|
||||||
|
DROP TABLE version_mismatch_table;
|
||||||
|
|
Loading…
Reference in New Issue