diff --git a/src/test/regress/base_schedule b/src/test/regress/base_schedule index 0ce3ed1c0..f56adb5a3 100644 --- a/src/test/regress/base_schedule +++ b/src/test/regress/base_schedule @@ -4,7 +4,6 @@ test: enable_ddl_propagation test: multi_test_helpers multi_test_helpers_superuser multi_create_fdw columnar_test_helpers failure_test_helpers test: multi_cluster_management -test: enable_ddl_propagation test: multi_test_catalog_views test: multi_create_table test: multi_behavioral_analytics_create_table diff --git a/src/test/regress/citus_tests/run_test.py b/src/test/regress/citus_tests/run_test.py index cbaea065d..6fd9193ec 100755 --- a/src/test/regress/citus_tests/run_test.py +++ b/src/test/regress/citus_tests/run_test.py @@ -422,7 +422,17 @@ def find_test_schedule_and_line(test_name, args): def test_dependencies(test_name, test_schedule, schedule_line, args): if test_name in DEPS: - return DEPS[test_name] + # since enable_ddl_propagation is a must to execute tests + # below block adds enable_ddl_propagation as a dependency + # as the first element of extra tests if schedule is not configured + test_deps = DEPS[test_name] + ddl_propagation_test = "isolation_enable_ddl_propagation" if test_name.startswith("isolation") else "enable_ddl_propagation" + + if test_deps is not None and test_deps.schedule is None: + test_deps.direct_extra_tests = [ddl_propagation_test] + test_deps.direct_extra_tests + return test_deps + else: + return DEPS[test_name] if "citus_upgrade" in test_schedule: return TestDeps(None, citus_upgrade_infra=True) diff --git a/src/test/regress/columnar_schedule b/src/test/regress/columnar_schedule index 1a6c2fce5..ef8b2b288 100644 --- a/src/test/regress/columnar_schedule +++ b/src/test/regress/columnar_schedule @@ -1,7 +1,6 @@ test: enable_ddl_propagation test: multi_test_helpers multi_test_helpers_superuser columnar_test_helpers test: multi_cluster_management -test: enable_ddl_propagation test: multi_test_catalog_views test: remove_coordinator_from_metadata diff --git a/src/test/regress/enterprise_minimal_schedule b/src/test/regress/enterprise_minimal_schedule index 32a671caf..10c4f623b 100644 --- a/src/test/regress/enterprise_minimal_schedule +++ b/src/test/regress/enterprise_minimal_schedule @@ -1,3 +1,4 @@ +test: enable_ddl_propagation test: single_node_enterprise test: multi_test_helpers multi_test_helpers_superuser test: multi_cluster_management diff --git a/src/test/regress/enterprise_schedule b/src/test/regress/enterprise_schedule index 4e0802d20..59156def7 100644 --- a/src/test/regress/enterprise_schedule +++ b/src/test/regress/enterprise_schedule @@ -5,7 +5,6 @@ test: single_node_enterprise test: multi_test_helpers multi_test_helpers_superuser test: multi_cluster_management -test: enable_ddl_propagation test: multi_test_catalog_views test: multi_data_types test: multi_tenant_isolation diff --git a/src/test/regress/expected/minimal_cluster_management.out b/src/test/regress/expected/minimal_cluster_management.out index d05e83ed5..d9db708f5 100644 --- a/src/test/regress/expected/minimal_cluster_management.out +++ b/src/test/regress/expected/minimal_cluster_management.out @@ -69,3 +69,20 @@ DROP TABLE test_dist; ALTER SEQUENCE pg_catalog.pg_dist_node_nodeid_seq RESTART 30; ALTER SEQUENCE pg_catalog.pg_dist_groupid_seq RESTART 18; ALTER SEQUENCE pg_catalog.pg_dist_placement_placementid_seq RESTART 83; +-- Enable ddl sync in all nodes +SELECT result from run_command_on_all_nodes('ALTER SYSTEM SET citus.enable_ddl_propagation TO ON'); + result +--------------------------------------------------------------------- + ALTER SYSTEM + ALTER SYSTEM + ALTER SYSTEM +(3 rows) + +SELECT result from run_command_on_all_nodes('SELECT pg_reload_conf()'); + result +--------------------------------------------------------------------- + t + t + t +(3 rows) + diff --git a/src/test/regress/expected/multi_cluster_management.out b/src/test/regress/expected/multi_cluster_management.out index 3eb549ab5..cb341f223 100644 --- a/src/test/regress/expected/multi_cluster_management.out +++ b/src/test/regress/expected/multi_cluster_management.out @@ -1264,3 +1264,20 @@ SELECT bool_and(hasmetadata) AND bool_and(metadatasynced) FROM pg_dist_node WHER -- keep permissions compatible accross versions, in regression -- tests. GRANT ALL ON SCHEMA public TO PUBLIC; +-- Enable ddl sync in all nodes +SELECT result from run_command_on_all_nodes('ALTER SYSTEM SET citus.enable_ddl_propagation TO ON'); + result +--------------------------------------------------------------------- + ALTER SYSTEM + ALTER SYSTEM + ALTER SYSTEM +(3 rows) + +SELECT result from run_command_on_all_nodes('SELECT pg_reload_conf()'); + result +--------------------------------------------------------------------- + t + t + t +(3 rows) + diff --git a/src/test/regress/minimal_schedule b/src/test/regress/minimal_schedule index 1f524797d..fe2d9ce94 100644 --- a/src/test/regress/minimal_schedule +++ b/src/test/regress/minimal_schedule @@ -1,4 +1,3 @@ test: enable_ddl_propagation test: minimal_cluster_management -test: enable_ddl_propagation test: multi_test_helpers multi_test_helpers_superuser multi_create_fdw columnar_test_helpers multi_test_catalog_views tablespace diff --git a/src/test/regress/multi_1_schedule b/src/test/regress/multi_1_schedule index 394e3fea4..6fc2ca36c 100644 --- a/src/test/regress/multi_1_schedule +++ b/src/test/regress/multi_1_schedule @@ -22,7 +22,6 @@ test: single_node test: relation_access_tracking_single_node test: single_node_truncate test: multi_cluster_management -test: enable_ddl_propagation # below tests are placed right after multi_cluster_management as we do # remove/add node operations and we do not want any preexisting objects diff --git a/src/test/regress/multi_mx_schedule b/src/test/regress/multi_mx_schedule index e332f4897..6e8b652e4 100644 --- a/src/test/regress/multi_mx_schedule +++ b/src/test/regress/multi_mx_schedule @@ -18,8 +18,6 @@ test: multi_extension test: multi_test_helpers multi_test_helpers_superuser test: multi_mx_node_metadata test: multi_cluster_management -test: enable_ddl_propagation - test: remove_coordinator_from_metadata test: multi_mx_function_table_reference test: multi_test_catalog_views diff --git a/src/test/regress/multi_schedule b/src/test/regress/multi_schedule index 2fd1db9f9..f24ebdeae 100644 --- a/src/test/regress/multi_schedule +++ b/src/test/regress/multi_schedule @@ -1,7 +1,6 @@ test: enable_ddl_propagation test: multi_test_helpers multi_test_helpers_superuser test: multi_cluster_management -test: enable_ddl_propagation test: create_role_propagation test: pg16 test: multi_create_fdw diff --git a/src/test/regress/mx_base_schedule b/src/test/regress/mx_base_schedule index 4c7cdfca4..947986640 100644 --- a/src/test/regress/mx_base_schedule +++ b/src/test/regress/mx_base_schedule @@ -4,7 +4,6 @@ test: enable_ddl_propagation test: multi_test_helpers multi_test_helpers_superuser test: multi_cluster_management -test: enable_ddl_propagation test: multi_mx_function_table_reference test: multi_test_catalog_views diff --git a/src/test/regress/operations_schedule b/src/test/regress/operations_schedule index 86b46c7e5..0f8b5b816 100644 --- a/src/test/regress/operations_schedule +++ b/src/test/regress/operations_schedule @@ -1,7 +1,6 @@ test: enable_ddl_propagation test: multi_test_helpers multi_test_helpers_superuser test: multi_cluster_management -test: enable_ddl_propagation test: multi_test_catalog_views test: worker_copy_table_to_node test: shard_rebalancer_unit diff --git a/src/test/regress/split_schedule b/src/test/regress/split_schedule index f70b19d1a..fa445f151 100644 --- a/src/test/regress/split_schedule +++ b/src/test/regress/split_schedule @@ -3,7 +3,6 @@ test: enable_ddl_propagation test: multi_test_helpers multi_test_helpers_superuser columnar_test_helpers test: multi_cluster_management -test: enable_ddl_propagation test: remove_coordinator_from_metadata test: multi_test_catalog_views test: tablespace diff --git a/src/test/regress/sql/minimal_cluster_management.sql b/src/test/regress/sql/minimal_cluster_management.sql index 30f69d43d..80c1059a7 100644 --- a/src/test/regress/sql/minimal_cluster_management.sql +++ b/src/test/regress/sql/minimal_cluster_management.sql @@ -41,3 +41,6 @@ DROP TABLE test_dist; ALTER SEQUENCE pg_catalog.pg_dist_node_nodeid_seq RESTART 30; ALTER SEQUENCE pg_catalog.pg_dist_groupid_seq RESTART 18; ALTER SEQUENCE pg_catalog.pg_dist_placement_placementid_seq RESTART 83; +-- Enable ddl sync in all nodes +SELECT result from run_command_on_all_nodes('ALTER SYSTEM SET citus.enable_ddl_propagation TO ON'); +SELECT result from run_command_on_all_nodes('SELECT pg_reload_conf()'); diff --git a/src/test/regress/sql/multi_cluster_management.sql b/src/test/regress/sql/multi_cluster_management.sql index 86fbd15b6..41f962f35 100644 --- a/src/test/regress/sql/multi_cluster_management.sql +++ b/src/test/regress/sql/multi_cluster_management.sql @@ -537,3 +537,6 @@ SELECT bool_and(hasmetadata) AND bool_and(metadatasynced) FROM pg_dist_node WHER -- keep permissions compatible accross versions, in regression -- tests. GRANT ALL ON SCHEMA public TO PUBLIC; +-- Enable ddl sync in all nodes +SELECT result from run_command_on_all_nodes('ALTER SYSTEM SET citus.enable_ddl_propagation TO ON'); +SELECT result from run_command_on_all_nodes('SELECT pg_reload_conf()');