diff --git a/src/backend/distributed/commands/dependencies.c b/src/backend/distributed/commands/dependencies.c index 9d9839b5a..ea1c59064 100644 --- a/src/backend/distributed/commands/dependencies.c +++ b/src/backend/distributed/commands/dependencies.c @@ -34,8 +34,6 @@ static List * GetDependencyCreateDDLCommands(const ObjectAddress *dependency); static List * FilterObjectAddressListByPredicate(List *objectAddressList, AddressPredicate predicate); -bool EnableDependencyCreation = true; - /* * EnsureDependenciesExistOnAllNodes finds all the dependencies that we support and makes * sure these are available on all workers. If not available they will be created on the @@ -364,7 +362,7 @@ ReplicateAllObjectsToNodeCommandList(const char *nodeName, int nodePort) List *dependencies = GetDistributedObjectAddressList(); /* - * Depending on changes in the environment, such as the enable_object_propagation guc + * Depending on changes in the environment, such as the enable_metadata_sync guc * there might be objects in the distributed object address list that should currently * not be propagated by citus as they are 'not supported'. */ @@ -415,7 +413,7 @@ ShouldPropagate(void) return false; } - if (!EnableDependencyCreation) + if (!EnableMetadataSync) { /* * we are configured to disable object propagation, should not propagate anything diff --git a/src/backend/distributed/commands/extension.c b/src/backend/distributed/commands/extension.c index 88150942f..ef5b6c1b1 100644 --- a/src/backend/distributed/commands/extension.c +++ b/src/backend/distributed/commands/extension.c @@ -649,7 +649,7 @@ static bool ShouldPropagateExtensionCommand(Node *parseTree) { /* if we disabled object propagation, then we should not propagate anything. */ - if (!EnableDependencyCreation) + if (!EnableMetadataSync) { return false; } diff --git a/src/backend/distributed/commands/function.c b/src/backend/distributed/commands/function.c index a1b618125..497a32dbb 100644 --- a/src/backend/distributed/commands/function.c +++ b/src/backend/distributed/commands/function.c @@ -200,8 +200,8 @@ create_distributed_function(PG_FUNCTION_ARGS) const char *createFunctionSQL = GetFunctionDDLCommand(funcOid, true); const char *alterFunctionOwnerSQL = GetFunctionAlterOwnerCommand(funcOid); initStringInfo(&ddlCommand); - appendStringInfo(&ddlCommand, "%s;%s;%s;%s", DISABLE_OBJECT_PROPAGATION, - createFunctionSQL, alterFunctionOwnerSQL, ENABLE_OBJECT_PROPAGATION); + appendStringInfo(&ddlCommand, "%s;%s;%s;%s", DISABLE_METADATA_SYNC, + createFunctionSQL, alterFunctionOwnerSQL, ENABLE_METADATA_SYNC); SendCommandToWorkersAsUser(NON_COORDINATOR_NODES, CurrentUserName(), ddlCommand.data); MarkObjectDistributed(&functionAddress); @@ -698,7 +698,7 @@ UpdateFunctionDistributionInfo(const ObjectAddress *distAddress, table_close(pgDistObjectRel, NoLock); - if (EnableDependencyCreation) + if (EnableMetadataSync) { List *objectAddressList = list_make1((ObjectAddress *) distAddress); List *distArgumentIndexList = NIL; @@ -1206,7 +1206,7 @@ ShouldPropagateCreateFunction(CreateFunctionStmt *stmt) return false; } - if (!EnableDependencyCreation) + if (!EnableMetadataSync) { /* * we are configured to disable object propagation, should not propagate anything @@ -1254,7 +1254,7 @@ ShouldPropagateAlterFunction(const ObjectAddress *address) return false; } - if (!EnableDependencyCreation) + if (!EnableMetadataSync) { /* * we are configured to disable object propagation, should not propagate anything @@ -1556,7 +1556,7 @@ PreprocessDropFunctionStmt(Node *node, const char *queryString, return NIL; } - if (!EnableDependencyCreation) + if (!EnableMetadataSync) { /* * we are configured to disable object propagation, should not propagate anything @@ -1657,7 +1657,7 @@ PreprocessAlterFunctionDependsStmt(Node *node, const char *queryString, return NIL; } - if (!EnableDependencyCreation) + if (!EnableMetadataSync) { /* * we are configured to disable object propagation, should not propagate anything diff --git a/src/backend/distributed/commands/sequence.c b/src/backend/distributed/commands/sequence.c index 4aa04b2ef..3638ab737 100644 --- a/src/backend/distributed/commands/sequence.c +++ b/src/backend/distributed/commands/sequence.c @@ -241,7 +241,7 @@ PreprocessDropSequenceStmt(Node *node, const char *queryString, return NIL; } - if (!EnableDependencyCreation) + if (!EnableMetadataSync) { /* * we are configured to disable object propagation, should not propagate anything diff --git a/src/backend/distributed/metadata/dependency.c b/src/backend/distributed/metadata/dependency.c index 820cb848f..a9a154242 100644 --- a/src/backend/distributed/metadata/dependency.c +++ b/src/backend/distributed/metadata/dependency.c @@ -558,7 +558,7 @@ IsObjectAddressCollected(ObjectAddress findAddress, bool SupportedDependencyByCitus(const ObjectAddress *address) { - if (!EnableDependencyCreation) + if (!EnableMetadataSync) { /* * If the user has disabled object propagation we need to fall back to the legacy diff --git a/src/backend/distributed/metadata/distobject.c b/src/backend/distributed/metadata/distobject.c index fc5d029fb..37aaa3aed 100644 --- a/src/backend/distributed/metadata/distobject.c +++ b/src/backend/distributed/metadata/distobject.c @@ -172,7 +172,7 @@ MarkObjectDistributed(const ObjectAddress *distAddress) ereport(ERROR, (errmsg("failed to insert object into citus.pg_dist_object"))); } - if (EnableDependencyCreation) + if (EnableMetadataSync) { /* create a list by adding the address of value to not to have warning */ List *objectAddressList = list_make1((ObjectAddress *) distAddress); diff --git a/src/backend/distributed/metadata/metadata_sync.c b/src/backend/distributed/metadata/metadata_sync.c index 988dedbc7..ec5ffb3f9 100644 --- a/src/backend/distributed/metadata/metadata_sync.c +++ b/src/backend/distributed/metadata/metadata_sync.c @@ -105,7 +105,7 @@ static AccessPriv * GetAccessPrivObjectForGrantStmt(char *permission); static RoleSpec * GetRoleSpecObjectForGrantStmt(Oid roleOid); static List * GenerateGrantOnSchemaQueriesFromAclItem(Oid schemaOid, AclItem *aclItem); -static void SetLocalEnableDependencyCreation(bool state); +static void SetLocalEnableMetadataSync(bool state); static void SetLocalReplicateReferenceTablesOnActivate(bool state); static char * GenerateSetRoleQuery(Oid roleOid); static void MetadataSyncSigTermHandler(SIGNAL_ARGS); @@ -417,7 +417,8 @@ ClusterHasKnownMetadataWorkers() bool ShouldSyncTableMetadata(Oid relationId) { - if (!OidIsValid(relationId) || !IsCitusTable(relationId)) + if (!EnableMetadataSync || + !OidIsValid(relationId) || !IsCitusTable(relationId)) { return false; } @@ -950,8 +951,8 @@ citus_internal_add_object_metadata(PG_FUNCTION_ARGS) argsArray); /* First, disable propagation off to not to cause infinite propagation */ - bool prevDependencyCreationValue = EnableDependencyCreation; - SetLocalEnableDependencyCreation(false); + bool prevDependencyCreationValue = EnableMetadataSync; + SetLocalEnableMetadataSync(false); MarkObjectDistributed(&objectAddress); @@ -978,7 +979,7 @@ citus_internal_add_object_metadata(PG_FUNCTION_ARGS) forceDelegationAddress); } - SetLocalEnableDependencyCreation(prevDependencyCreationValue); + SetLocalEnableMetadataSync(prevDependencyCreationValue); PG_RETURN_VOID(); } @@ -1847,12 +1848,12 @@ GetRoleSpecObjectForGrantStmt(Oid roleOid) /* - * SetLocalEnableDependencyCreation sets the enable_object_propagation locally + * SetLocalEnableMetadataSync sets the enable_metadata_sync locally */ static void -SetLocalEnableDependencyCreation(bool state) +SetLocalEnableMetadataSync(bool state) { - set_config_option("citus.enable_object_propagation", state == true ? "on" : "off", + set_config_option("citus.enable_metadata_sync", state == true ? "on" : "off", (superuser() ? PGC_SUSET : PGC_USERSET), PGC_S_SESSION, GUC_ACTION_LOCAL, true, 0, false); } diff --git a/src/backend/distributed/metadata/node_metadata.c b/src/backend/distributed/metadata/node_metadata.c index d040514bc..a32e0aa20 100644 --- a/src/backend/distributed/metadata/node_metadata.c +++ b/src/backend/distributed/metadata/node_metadata.c @@ -77,7 +77,7 @@ bool ReplicateReferenceTablesOnActivate = true; /* did current transaction modify pg_dist_node? */ bool TransactionModifiedNodeMetadata = false; -bool EnableMetadataSyncByDefault = true; +bool EnableMetadataSync = true; typedef struct NodeMetadata { @@ -1095,9 +1095,9 @@ ActivateNode(char *nodeName, int nodePort) BoolGetDatum(isActive)); /* TODO: Once all tests will be enabled for MX, we can remove sync by default check */ - bool syncMetadata = EnableMetadataSyncByDefault && NodeIsPrimary(workerNode); + bool syncMetadata = EnableMetadataSync && NodeIsPrimary(workerNode); - if (syncMetadata && EnableDependencyCreation) + if (syncMetadata) { /* * We are going to sync the metadata anyway in this transaction, so do diff --git a/src/backend/distributed/shared_library_init.c b/src/backend/distributed/shared_library_init.c index 5e3ab85d2..95250f19d 100644 --- a/src/backend/distributed/shared_library_init.c +++ b/src/backend/distributed/shared_library_init.c @@ -911,21 +911,10 @@ RegisterCitusConfigVariables(void) NULL, NULL, NULL); DefineCustomBoolVariable( - "citus.enable_metadata_sync_by_default", - gettext_noop("Enables MX in the new nodes by default"), + "citus.enable_metadata_sync", + gettext_noop("Enables object and metadata syncing."), NULL, - &EnableMetadataSyncByDefault, - true, - PGC_USERSET, - GUC_SUPERUSER_ONLY | GUC_NO_SHOW_ALL, - NULL, NULL, NULL); - - DefineCustomBoolVariable( - "citus.enable_object_propagation", - gettext_noop("Enables propagating object creation for more complex objects, " - "schema's will always be created"), - NULL, - &EnableDependencyCreation, + &EnableMetadataSync, true, PGC_USERSET, GUC_NO_SHOW_ALL, diff --git a/src/include/distributed/commands/utility_hook.h b/src/include/distributed/commands/utility_hook.h index 1ee18a206..7c926fcf1 100644 --- a/src/include/distributed/commands/utility_hook.h +++ b/src/include/distributed/commands/utility_hook.h @@ -32,7 +32,6 @@ typedef enum } PropSetCmdBehavior; extern PropSetCmdBehavior PropagateSetCommands; extern bool EnableDDLPropagation; -extern bool EnableDependencyCreation; extern bool EnableCreateTypePropagation; extern bool EnableAlterRolePropagation; extern bool EnableAlterRoleSetPropagation; diff --git a/src/include/distributed/metadata_sync.h b/src/include/distributed/metadata_sync.h index 2ea790cbf..69d500da4 100644 --- a/src/include/distributed/metadata_sync.h +++ b/src/include/distributed/metadata_sync.h @@ -89,8 +89,8 @@ extern Oid GetAttributeTypeOid(Oid relationId, AttrNumber attnum); #define DISABLE_DDL_PROPAGATION "SET citus.enable_ddl_propagation TO 'off'" #define ENABLE_DDL_PROPAGATION "SET citus.enable_ddl_propagation TO 'on'" -#define DISABLE_OBJECT_PROPAGATION "SET citus.enable_object_propagation TO 'off'" -#define ENABLE_OBJECT_PROPAGATION "SET citus.enable_object_propagation TO 'on'" +#define DISABLE_METADATA_SYNC "SET citus.enable_metadata_sync TO 'off'" +#define ENABLE_METADATA_SYNC "SET citus.enable_metadata_sync TO 'on'" #define WORKER_APPLY_SEQUENCE_COMMAND "SELECT worker_apply_sequence_command (%s,%s)" #define UPSERT_PLACEMENT \ "INSERT INTO pg_dist_placement " \ @@ -108,6 +108,6 @@ extern Oid GetAttributeTypeOid(Oid relationId, AttrNumber attnum); /* controlled via GUC */ extern char *EnableManualMetadataChangesForUser; -extern bool EnableMetadataSyncByDefault; +extern bool EnableMetadataSync; #endif /* METADATA_SYNC_H */ diff --git a/src/test/regress/expected/check_mx.out b/src/test/regress/expected/check_mx.out index 7e5bc23f4..6a030bc31 100644 --- a/src/test/regress/expected/check_mx.out +++ b/src/test/regress/expected/check_mx.out @@ -1,5 +1,5 @@ -SHOW citus.enable_metadata_sync_by_default; - citus.enable_metadata_sync_by_default +SHOW citus.enable_metadata_sync; + citus.enable_metadata_sync --------------------------------------------------------------------- on (1 row) diff --git a/src/test/regress/expected/disable_object_propagation.out b/src/test/regress/expected/disable_object_propagation.out index 78247223c..8429fe301 100644 --- a/src/test/regress/expected/disable_object_propagation.out +++ b/src/test/regress/expected/disable_object_propagation.out @@ -1,5 +1,5 @@ SET citus.next_shard_id TO 20030000; -SET citus.enable_object_propagation TO false; -- all tests here verify old behaviour without distributing types,functions,etc automatically +SET citus.enable_metadata_sync TO false; -- all tests here verify old behaviour without distributing types,functions,etc automatically CREATE USER typeowner_for_disabled_object_propagation_guc; NOTICE: not propagating CREATE ROLE/USER commands to worker nodes HINT: Connect to worker nodes directly to manually create all necessary users and roles. @@ -65,7 +65,7 @@ SELECT create_distributed_table('t3', 'a'); -- verify ALTER TYPE statements are not propagated for types, even though they are marked distributed BEGIN; -- object propagation is turned off after xact finished, type is already marked distributed by then -SET LOCAL citus.enable_object_propagation TO on; +SET LOCAL citus.enable_metadata_sync TO on; CREATE TYPE tt3 AS (a int, b int); CREATE TABLE t4 (a int PRIMARY KEY, b tt3); SELECT create_distributed_table('t4','a'); @@ -120,7 +120,7 @@ $$); -- suppress any warnings during cleanup SET client_min_messages TO error; -RESET citus.enable_object_propagation; +RESET citus.enable_metadata_sync; DROP SCHEMA disabled_object_propagation CASCADE; DROP SCHEMA disabled_object_propagation2 CASCADE; DROP USER typeowner_for_disabled_object_propagation_guc; diff --git a/src/test/regress/expected/distributed_collations_conflict.out b/src/test/regress/expected/distributed_collations_conflict.out index 8643ae290..821521457 100644 --- a/src/test/regress/expected/distributed_collations_conflict.out +++ b/src/test/regress/expected/distributed_collations_conflict.out @@ -8,6 +8,7 @@ SELECT run_command_on_workers($$CREATE SCHEMA collation_conflict;$$); \c - - - :worker_1_port SET search_path TO collation_conflict; +SET citus.enable_metadata_sync TO off; CREATE COLLATION caseinsensitive ( provider = icu, locale = 'und-u-ks-level2' @@ -45,6 +46,7 @@ SET search_path TO collation_conflict; DROP TABLE tblcoll; DROP COLLATION caseinsensitive; \c - - - :worker_1_port +SET citus.enable_metadata_sync TO off; SET search_path TO collation_conflict; CREATE COLLATION caseinsensitive ( provider = icu, diff --git a/src/test/regress/expected/isolation_check_mx.out b/src/test/regress/expected/isolation_check_mx.out index c6d9f58ea..25f65a0f8 100644 --- a/src/test/regress/expected/isolation_check_mx.out +++ b/src/test/regress/expected/isolation_check_mx.out @@ -2,10 +2,10 @@ Parsed test spec with 1 sessions starting permutation: check_mx step check_mx: - SHOW citus.enable_metadata_sync_by_default; + SHOW citus.enable_metadata_sync; SELECT bool_and(metadatasynced) FROM pg_dist_node WHERE noderole = 'primary'; -citus.enable_metadata_sync_by_default +citus.enable_metadata_sync --------------------------------------------------------------------- on (1 row) diff --git a/src/test/regress/expected/isolation_turn_mx_off.out b/src/test/regress/expected/isolation_turn_mx_off.out index d12211562..4c004c2fa 100644 --- a/src/test/regress/expected/isolation_turn_mx_off.out +++ b/src/test/regress/expected/isolation_turn_mx_off.out @@ -2,7 +2,7 @@ Parsed test spec with 1 sessions starting permutation: disable-mx-by-default reload stop-metadata-sync step disable-mx-by-default: - ALTER SYSTEM SET citus.enable_metadata_sync_by_default TO OFF; + ALTER SYSTEM SET citus.enable_metadata_sync TO OFF; step reload: SELECT pg_reload_conf(); diff --git a/src/test/regress/expected/isolation_turn_mx_off_0.out b/src/test/regress/expected/isolation_turn_mx_off_0.out index 763e806fb..bb41b2412 100644 --- a/src/test/regress/expected/isolation_turn_mx_off_0.out +++ b/src/test/regress/expected/isolation_turn_mx_off_0.out @@ -2,7 +2,7 @@ Parsed test spec with 1 sessions starting permutation: disable-mx-by-default reload stop-metadata-sync step disable-mx-by-default: - ALTER SYSTEM SET citus.enable_metadata_sync_by_default TO OFF; + ALTER SYSTEM SET citus.enable_metadata_sync TO OFF; step reload: SELECT pg_reload_conf(); diff --git a/src/test/regress/expected/isolation_turn_mx_on.out b/src/test/regress/expected/isolation_turn_mx_on.out index 27a855dc4..8f65d92bd 100644 --- a/src/test/regress/expected/isolation_turn_mx_on.out +++ b/src/test/regress/expected/isolation_turn_mx_on.out @@ -2,7 +2,7 @@ Parsed test spec with 1 sessions starting permutation: enable-mx-by-default reload start-metadata-sync step enable-mx-by-default: - ALTER SYSTEM SET citus.enable_metadata_sync_by_default TO ON; + ALTER SYSTEM SET citus.enable_metadata_sync TO ON; step reload: SELECT pg_reload_conf(); diff --git a/src/test/regress/expected/isolation_turn_mx_on_0.out b/src/test/regress/expected/isolation_turn_mx_on_0.out index 4d7889487..bf173e1ab 100644 --- a/src/test/regress/expected/isolation_turn_mx_on_0.out +++ b/src/test/regress/expected/isolation_turn_mx_on_0.out @@ -2,7 +2,7 @@ Parsed test spec with 1 sessions starting permutation: enable-mx-by-default reload start-metadata-sync step enable-mx-by-default: - ALTER SYSTEM SET citus.enable_metadata_sync_by_default TO ON; + ALTER SYSTEM SET citus.enable_metadata_sync TO ON; step reload: SELECT pg_reload_conf(); diff --git a/src/test/regress/expected/multi_deparse_function.out b/src/test/regress/expected/multi_deparse_function.out index 31779bbd1..cdf002e8e 100644 --- a/src/test/regress/expected/multi_deparse_function.out +++ b/src/test/regress/expected/multi_deparse_function.out @@ -64,14 +64,14 @@ CREATE FUNCTION add(integer, integer) RETURNS integer -- Since deparse logic on workers can not work for if function -- is distributed on workers, we are disabling object propagation -- first. Same trick has been applied multiple times in this test. -SET citus.enable_object_propagation TO OFF; +SET citus.enable_metadata_sync TO OFF; SELECT create_distributed_function('add(int,int)'); create_distributed_function --------------------------------------------------------------------- (1 row) -RESET citus.enable_object_propagation; +RESET citus.enable_metadata_sync; SELECT deparse_and_run_on_workers($cmd$ ALTER FUNCTION add CALLED ON NULL INPUT $cmd$); @@ -540,7 +540,7 @@ CREATE FUNCTION "CiTuS.TeeN"."TeeNFunCT10N.1!?!"() RETURNS TEXT CREATE FUNCTION "CiTuS.TeeN"."TeeNFunCT10N.1!?!"(text) RETURNS TEXT AS $$ SELECT 'Overloaded function called with param: ' || $1 $$ LANGUAGE SQL; -SET citus.enable_object_propagation TO OFF; +SET citus.enable_metadata_sync TO OFF; SELECT create_distributed_function('"CiTuS.TeeN"."TeeNFunCT10N.1!?!"()'); create_distributed_function --------------------------------------------------------------------- @@ -553,7 +553,7 @@ SELECT create_distributed_function('"CiTuS.TeeN"."TeeNFunCT10N.1!?!"(text)'); (1 row) -RESET citus.enable_object_propagation; +RESET citus.enable_metadata_sync; SELECT deparse_and_run_on_workers($cmd$ ALTER FUNCTION "CiTuS.TeeN"."TeeNFunCT10N.1!?!"() SET SCHEMA "CiTUS.TEEN2" $cmd$); @@ -581,14 +581,14 @@ CONTEXT: PL/pgSQL function deparse_and_run_on_workers(text) line XX at RAISE CREATE FUNCTION func_default_param(param INT DEFAULT 0) RETURNS TEXT AS $$ SELECT 'supplied param is : ' || param; $$ LANGUAGE SQL; -SET citus.enable_object_propagation TO OFF; +SET citus.enable_metadata_sync TO OFF; SELECT create_distributed_function('func_default_param(INT)'); create_distributed_function --------------------------------------------------------------------- (1 row) -RESET citus.enable_object_propagation; +RESET citus.enable_metadata_sync; SELECT deparse_and_run_on_workers($cmd$ ALTER FUNCTION func_default_param RENAME TO func_with_default_param; $cmd$); @@ -604,14 +604,14 @@ CONTEXT: PL/pgSQL function deparse_and_run_on_workers(text) line XX at RAISE CREATE FUNCTION func_out_param(IN param INT, OUT result TEXT) AS $$ SELECT 'supplied param is : ' || param; $$ LANGUAGE SQL; -SET citus.enable_object_propagation TO OFF; +SET citus.enable_metadata_sync TO OFF; SELECT create_distributed_function('func_out_param(INT)'); create_distributed_function --------------------------------------------------------------------- (1 row) -RESET citus.enable_object_propagation; +RESET citus.enable_metadata_sync; SELECT deparse_and_run_on_workers($cmd$ ALTER FUNCTION func_out_param RENAME TO func_in_and_out_param; $cmd$); @@ -630,14 +630,14 @@ BEGIN a := a * a; END; $$ LANGUAGE plpgsql; -SET citus.enable_object_propagation TO OFF; +SET citus.enable_metadata_sync TO OFF; SELECT create_distributed_function('square(NUMERIC)'); create_distributed_function --------------------------------------------------------------------- (1 row) -RESET citus.enable_object_propagation; +RESET citus.enable_metadata_sync; SELECT deparse_and_run_on_workers($cmd$ ALTER FUNCTION square SET search_path TO DEFAULT; $cmd$); @@ -663,14 +663,14 @@ BEGIN FROM generate_subscripts(list, 1) g(i); END; $$ LANGUAGE plpgsql; -SET citus.enable_object_propagation TO OFF; +SET citus.enable_metadata_sync TO OFF; SELECT create_distributed_function('sum_avg(NUMERIC[])'); create_distributed_function --------------------------------------------------------------------- (1 row) -RESET citus.enable_object_propagation; +RESET citus.enable_metadata_sync; SELECT deparse_and_run_on_workers($cmd$ ALTER FUNCTION sum_avg COST 10000; $cmd$); @@ -689,14 +689,14 @@ RESET citus.enable_ddl_propagation; CREATE FUNCTION func_custom_param(IN param intpair, OUT total INT) AS $$ SELECT param.x + param.y $$ LANGUAGE SQL; -SET citus.enable_object_propagation TO OFF; +SET citus.enable_metadata_sync TO OFF; SELECT create_distributed_function('func_custom_param(intpair)'); create_distributed_function --------------------------------------------------------------------- (1 row) -RESET citus.enable_object_propagation; +RESET citus.enable_metadata_sync; SELECT deparse_and_run_on_workers($cmd$ ALTER FUNCTION func_custom_param RENAME TO func_with_custom_param; $cmd$); @@ -713,14 +713,14 @@ CREATE FUNCTION func_returns_table(IN count INT) RETURNS TABLE (x INT, y INT) AS $$ SELECT i,i FROM generate_series(1,count) i $$ LANGUAGE SQL; -SET citus.enable_object_propagation TO OFF; +SET citus.enable_metadata_sync TO OFF; SELECT create_distributed_function('func_returns_table(INT)'); create_distributed_function --------------------------------------------------------------------- (1 row) -RESET citus.enable_object_propagation; +RESET citus.enable_metadata_sync; SELECT deparse_and_run_on_workers($cmd$ ALTER FUNCTION func_returns_table ROWS 100; $cmd$); diff --git a/src/test/regress/expected/multi_deparse_procedure.out b/src/test/regress/expected/multi_deparse_procedure.out index d510a8642..62adca50b 100644 --- a/src/test/regress/expected/multi_deparse_procedure.out +++ b/src/test/regress/expected/multi_deparse_procedure.out @@ -49,14 +49,14 @@ BEGIN RAISE INFO 'information message %', $1; END; $proc$; -SET citus.enable_object_propagation TO OFF; +SET citus.enable_metadata_sync TO OFF; SELECT create_distributed_function('raise_info(text)'); create_distributed_function --------------------------------------------------------------------- (1 row) -RESET citus.enable_object_propagation; +RESET citus.enable_metadata_sync; SELECT deparse_and_run_on_workers($cmd$ ALTER PROCEDURE raise_info CALLED ON NULL INPUT $cmd$); diff --git a/src/test/regress/expected/multi_extension.out b/src/test/regress/expected/multi_extension.out index 7caceeeda..70dc4c2a0 100644 --- a/src/test/regress/expected/multi_extension.out +++ b/src/test/regress/expected/multi_extension.out @@ -105,7 +105,7 @@ ORDER BY 1, 2; DROP EXTENSION citus; \c -- these tests switch between citus versions and call ddl's that require pg_dist_object to be created -SET citus.enable_object_propagation TO 'false'; +SET citus.enable_metadata_sync TO 'false'; SET citus.enable_version_checks TO 'false'; CREATE EXTENSION citus VERSION '8.0-1'; ALTER EXTENSION citus UPDATE TO '8.0-2'; @@ -492,7 +492,7 @@ SELECT * FROM multi_extension.print_extension_changes(); -- Test downgrade to 9.4-1 from 9.5-1 ALTER EXTENSION citus UPDATE TO '9.5-1'; BEGIN; - SET citus.enable_object_propagation TO on; + SET citus.enable_metadata_sync TO on; SELECT master_add_node('localhost', :master_port, groupId=>0); NOTICE: localhost:xxxxx is the coordinator and already contains metadata, skipping syncing the metadata master_add_node @@ -508,7 +508,7 @@ NOTICE: create_citus_local_table is deprecated in favour of citus_add_local_tab (1 row) - RESET citus.enable_object_propagation; + RESET citus.enable_metadata_sync; -- downgrade from 9.5-1 to 9.4-1 should fail as we have a citus local table ALTER EXTENSION citus UPDATE TO '9.4-1'; ERROR: citus local tables are introduced in Citus 9.5 diff --git a/src/test/regress/expected/single_node.out b/src/test/regress/expected/single_node.out index 6b92e7bba..0f94e6e7b 100644 --- a/src/test/regress/expected/single_node.out +++ b/src/test/regress/expected/single_node.out @@ -186,7 +186,7 @@ BEGIN; -- it'd spawn a bg worker targeting this node -- and that changes the connection count specific tests -- here - SET LOCAL citus.enable_metadata_sync_by_default TO OFF; + SET LOCAL citus.enable_metadata_sync TO OFF; -- cannot add workers with specific IP as long as I have a placeholder coordinator record SELECT 1 FROM master_add_node('127.0.0.1', :worker_1_port); ERROR: cannot add a worker node when the coordinator hostname is set to localhost @@ -198,7 +198,7 @@ BEGIN; -- it'd spawn a bg worker targeting this node -- and that changes the connection count specific tests -- here - SET LOCAL citus.enable_metadata_sync_by_default TO OFF; + SET LOCAL citus.enable_metadata_sync TO OFF; -- adding localhost workers is ok SELECT 1 FROM master_add_node('localhost', :worker_1_port); NOTICE: shards are still on the coordinator after adding the new node @@ -228,7 +228,7 @@ BEGIN; -- it'd spawn a bg worker targeting this node -- and that changes the connection count specific tests -- here - SET LOCAL citus.enable_metadata_sync_by_default TO OFF; + SET LOCAL citus.enable_metadata_sync TO OFF; -- adding workers with specific IP is ok now SELECT 1 FROM master_add_node('127.0.0.1', :worker_1_port); NOTICE: shards are still on the coordinator after adding the new node diff --git a/src/test/regress/expected/turn_mx_off.out b/src/test/regress/expected/turn_mx_off.out index 01331dd55..4dd6d592e 100644 --- a/src/test/regress/expected/turn_mx_off.out +++ b/src/test/regress/expected/turn_mx_off.out @@ -1,4 +1,4 @@ -ALTER SYSTEM SET citus.enable_metadata_sync_by_default TO OFF; +ALTER SYSTEM SET citus.enable_metadata_sync TO OFF; SELECT pg_reload_conf(); pg_reload_conf --------------------------------------------------------------------- diff --git a/src/test/regress/expected/turn_mx_off_0.out b/src/test/regress/expected/turn_mx_off_0.out index 4fbcb04dd..ac71ba668 100644 --- a/src/test/regress/expected/turn_mx_off_0.out +++ b/src/test/regress/expected/turn_mx_off_0.out @@ -1,4 +1,4 @@ -ALTER SYSTEM SET citus.enable_metadata_sync_by_default TO OFF; +ALTER SYSTEM SET citus.enable_metadata_sync TO OFF; SELECT pg_reload_conf(); pg_reload_conf --------------------------------------------------------------------- diff --git a/src/test/regress/expected/turn_mx_off_1.out b/src/test/regress/expected/turn_mx_off_1.out index 7497f24c6..1f1b9c071 100644 --- a/src/test/regress/expected/turn_mx_off_1.out +++ b/src/test/regress/expected/turn_mx_off_1.out @@ -1,4 +1,4 @@ -ALTER SYSTEM SET citus.enable_metadata_sync_by_default TO OFF; +ALTER SYSTEM SET citus.enable_metadata_sync TO OFF; SELECT pg_reload_conf(); pg_reload_conf --------------------------------------------------------------------- diff --git a/src/test/regress/expected/turn_mx_on.out b/src/test/regress/expected/turn_mx_on.out index f6e9c6856..9b7ac5028 100644 --- a/src/test/regress/expected/turn_mx_on.out +++ b/src/test/regress/expected/turn_mx_on.out @@ -1,4 +1,4 @@ -ALTER SYSTEM SET citus.enable_metadata_sync_by_default TO ON; +ALTER SYSTEM SET citus.enable_metadata_sync TO ON; SELECT pg_reload_conf(); pg_reload_conf --------------------------------------------------------------------- diff --git a/src/test/regress/expected/turn_mx_on_0.out b/src/test/regress/expected/turn_mx_on_0.out index ea67ce573..ab6e15a07 100644 --- a/src/test/regress/expected/turn_mx_on_0.out +++ b/src/test/regress/expected/turn_mx_on_0.out @@ -1,4 +1,4 @@ -ALTER SYSTEM SET citus.enable_metadata_sync_by_default TO ON; +ALTER SYSTEM SET citus.enable_metadata_sync TO ON; SELECT pg_reload_conf(); pg_reload_conf --------------------------------------------------------------------- diff --git a/src/test/regress/expected/turn_mx_on_1.out b/src/test/regress/expected/turn_mx_on_1.out index 21d1ecfd9..0936b86a6 100644 --- a/src/test/regress/expected/turn_mx_on_1.out +++ b/src/test/regress/expected/turn_mx_on_1.out @@ -1,4 +1,4 @@ -ALTER SYSTEM SET citus.enable_metadata_sync_by_default TO ON; +ALTER SYSTEM SET citus.enable_metadata_sync TO ON; SELECT pg_reload_conf(); pg_reload_conf --------------------------------------------------------------------- diff --git a/src/test/regress/input/multi_copy.source b/src/test/regress/input/multi_copy.source index 79075482a..0b384c047 100644 --- a/src/test/regress/input/multi_copy.source +++ b/src/test/regress/input/multi_copy.source @@ -582,7 +582,7 @@ SET session_replication_role = DEFAULT; -- disable test_user on the first worker \c - :default_user - :worker_1_port -SET citus.enable_object_propagation TO off; +SET citus.enable_metadata_sync TO off; ALTER USER test_user WITH nologin; \c - test_user - :master_port @@ -616,7 +616,7 @@ SELECT shardid, shardstate, nodename, nodeport -- re-enable test_user on the first worker \c - :default_user - :worker_1_port -SET citus.enable_object_propagation TO off; +SET citus.enable_metadata_sync TO off; ALTER USER test_user WITH login; \c - test_user - :master_port diff --git a/src/test/regress/multi_1_schedule b/src/test/regress/multi_1_schedule index e909f8c7a..db44baa61 100644 --- a/src/test/regress/multi_1_schedule +++ b/src/test/regress/multi_1_schedule @@ -319,11 +319,8 @@ test: check_mx test: distributed_functions distributed_functions_conflict test: distributed_collations test: distributed_procedure - -# blocked on #5583 -test: turn_mx_off test: distributed_collations_conflict -test: turn_mx_on +test: check_mx # --------- # deparsing logic tests diff --git a/src/test/regress/output/multi_copy.source b/src/test/regress/output/multi_copy.source index 0788cf3c9..2bd0c7b77 100644 --- a/src/test/regress/output/multi_copy.source +++ b/src/test/regress/output/multi_copy.source @@ -745,7 +745,7 @@ UPDATE pg_dist_shard_placement SET nodeport = :worker_1_port+10 WHERE shardid = SET session_replication_role = DEFAULT; -- disable test_user on the first worker \c - :default_user - :worker_1_port -SET citus.enable_object_propagation TO off; +SET citus.enable_metadata_sync TO off; ALTER USER test_user WITH nologin; \c - test_user - :master_port -- reissue copy, and it should fail @@ -804,7 +804,7 @@ SELECT shardid, shardstate, nodename, nodeport -- re-enable test_user on the first worker \c - :default_user - :worker_1_port -SET citus.enable_object_propagation TO off; +SET citus.enable_metadata_sync TO off; ALTER USER test_user WITH login; \c - test_user - :master_port DROP TABLE numbers_hash; diff --git a/src/test/regress/spec/isolation_check_mx.spec b/src/test/regress/spec/isolation_check_mx.spec index 8958b92e8..f3593ff0b 100644 --- a/src/test/regress/spec/isolation_check_mx.spec +++ b/src/test/regress/spec/isolation_check_mx.spec @@ -2,7 +2,7 @@ session "s1" step "check_mx" { - SHOW citus.enable_metadata_sync_by_default; + SHOW citus.enable_metadata_sync; SELECT bool_and(metadatasynced) FROM pg_dist_node WHERE noderole = 'primary'; } diff --git a/src/test/regress/spec/isolation_turn_mx_off.spec b/src/test/regress/spec/isolation_turn_mx_off.spec index 7df0fc538..f80fc0a1e 100644 --- a/src/test/regress/spec/isolation_turn_mx_off.spec +++ b/src/test/regress/spec/isolation_turn_mx_off.spec @@ -2,7 +2,7 @@ session "s1" step "disable-mx-by-default" { - ALTER SYSTEM SET citus.enable_metadata_sync_by_default TO OFF; + ALTER SYSTEM SET citus.enable_metadata_sync TO OFF; } step "reload" diff --git a/src/test/regress/spec/isolation_turn_mx_on.spec b/src/test/regress/spec/isolation_turn_mx_on.spec index ebc49705f..5e35c13e5 100644 --- a/src/test/regress/spec/isolation_turn_mx_on.spec +++ b/src/test/regress/spec/isolation_turn_mx_on.spec @@ -2,7 +2,7 @@ session "s1" step "enable-mx-by-default" { - ALTER SYSTEM SET citus.enable_metadata_sync_by_default TO ON; + ALTER SYSTEM SET citus.enable_metadata_sync TO ON; } step "reload" diff --git a/src/test/regress/sql/check_mx.sql b/src/test/regress/sql/check_mx.sql index 7922905fc..6c9b2b664 100644 --- a/src/test/regress/sql/check_mx.sql +++ b/src/test/regress/sql/check_mx.sql @@ -1,3 +1,3 @@ -SHOW citus.enable_metadata_sync_by_default; +SHOW citus.enable_metadata_sync; SELECT bool_and(metadatasynced) FROM pg_dist_node WHERE noderole = 'primary'; diff --git a/src/test/regress/sql/disable_object_propagation.sql b/src/test/regress/sql/disable_object_propagation.sql index a50521860..431d56d61 100644 --- a/src/test/regress/sql/disable_object_propagation.sql +++ b/src/test/regress/sql/disable_object_propagation.sql @@ -1,5 +1,5 @@ SET citus.next_shard_id TO 20030000; -SET citus.enable_object_propagation TO false; -- all tests here verify old behaviour without distributing types,functions,etc automatically +SET citus.enable_metadata_sync TO false; -- all tests here verify old behaviour without distributing types,functions,etc automatically CREATE USER typeowner_for_disabled_object_propagation_guc; CREATE SCHEMA disabled_object_propagation; @@ -37,7 +37,7 @@ SELECT create_distributed_table('t3', 'a'); -- verify ALTER TYPE statements are not propagated for types, even though they are marked distributed BEGIN; -- object propagation is turned off after xact finished, type is already marked distributed by then -SET LOCAL citus.enable_object_propagation TO on; +SET LOCAL citus.enable_metadata_sync TO on; CREATE TYPE tt3 AS (a int, b int); CREATE TABLE t4 (a int PRIMARY KEY, b tt3); SELECT create_distributed_table('t4','a'); @@ -75,7 +75,7 @@ $$); -- suppress any warnings during cleanup SET client_min_messages TO error; -RESET citus.enable_object_propagation; +RESET citus.enable_metadata_sync; DROP SCHEMA disabled_object_propagation CASCADE; DROP SCHEMA disabled_object_propagation2 CASCADE; DROP USER typeowner_for_disabled_object_propagation_guc; diff --git a/src/test/regress/sql/distributed_collations_conflict.sql b/src/test/regress/sql/distributed_collations_conflict.sql index 5f3063651..c84e241a4 100644 --- a/src/test/regress/sql/distributed_collations_conflict.sql +++ b/src/test/regress/sql/distributed_collations_conflict.sql @@ -4,6 +4,8 @@ SELECT run_command_on_workers($$CREATE SCHEMA collation_conflict;$$); \c - - - :worker_1_port SET search_path TO collation_conflict; +SET citus.enable_metadata_sync TO off; + CREATE COLLATION caseinsensitive ( provider = icu, locale = 'und-u-ks-level2' @@ -36,6 +38,8 @@ DROP TABLE tblcoll; DROP COLLATION caseinsensitive; \c - - - :worker_1_port +SET citus.enable_metadata_sync TO off; + SET search_path TO collation_conflict; CREATE COLLATION caseinsensitive ( diff --git a/src/test/regress/sql/multi_deparse_function.sql b/src/test/regress/sql/multi_deparse_function.sql index 2dd0801e6..ba823f669 100644 --- a/src/test/regress/sql/multi_deparse_function.sql +++ b/src/test/regress/sql/multi_deparse_function.sql @@ -70,9 +70,9 @@ CREATE FUNCTION add(integer, integer) RETURNS integer -- Since deparse logic on workers can not work for if function -- is distributed on workers, we are disabling object propagation -- first. Same trick has been applied multiple times in this test. -SET citus.enable_object_propagation TO OFF; +SET citus.enable_metadata_sync TO OFF; SELECT create_distributed_function('add(int,int)'); -RESET citus.enable_object_propagation; +RESET citus.enable_metadata_sync; SELECT deparse_and_run_on_workers($cmd$ ALTER FUNCTION add CALLED ON NULL INPUT @@ -276,10 +276,10 @@ CREATE FUNCTION "CiTuS.TeeN"."TeeNFunCT10N.1!?!"(text) RETURNS TEXT AS $$ SELECT 'Overloaded function called with param: ' || $1 $$ LANGUAGE SQL; -SET citus.enable_object_propagation TO OFF; +SET citus.enable_metadata_sync TO OFF; SELECT create_distributed_function('"CiTuS.TeeN"."TeeNFunCT10N.1!?!"()'); SELECT create_distributed_function('"CiTuS.TeeN"."TeeNFunCT10N.1!?!"(text)'); -RESET citus.enable_object_propagation; +RESET citus.enable_metadata_sync; SELECT deparse_and_run_on_workers($cmd$ ALTER FUNCTION "CiTuS.TeeN"."TeeNFunCT10N.1!?!"() SET SCHEMA "CiTUS.TEEN2" @@ -294,9 +294,9 @@ $cmd$); CREATE FUNCTION func_default_param(param INT DEFAULT 0) RETURNS TEXT AS $$ SELECT 'supplied param is : ' || param; $$ LANGUAGE SQL; -SET citus.enable_object_propagation TO OFF; +SET citus.enable_metadata_sync TO OFF; SELECT create_distributed_function('func_default_param(INT)'); -RESET citus.enable_object_propagation; +RESET citus.enable_metadata_sync; SELECT deparse_and_run_on_workers($cmd$ ALTER FUNCTION func_default_param RENAME TO func_with_default_param; @@ -306,9 +306,9 @@ $cmd$); CREATE FUNCTION func_out_param(IN param INT, OUT result TEXT) AS $$ SELECT 'supplied param is : ' || param; $$ LANGUAGE SQL; -SET citus.enable_object_propagation TO OFF; +SET citus.enable_metadata_sync TO OFF; SELECT create_distributed_function('func_out_param(INT)'); -RESET citus.enable_object_propagation; +RESET citus.enable_metadata_sync; SELECT deparse_and_run_on_workers($cmd$ ALTER FUNCTION func_out_param RENAME TO func_in_and_out_param; @@ -321,9 +321,9 @@ BEGIN a := a * a; END; $$ LANGUAGE plpgsql; -SET citus.enable_object_propagation TO OFF; +SET citus.enable_metadata_sync TO OFF; SELECT create_distributed_function('square(NUMERIC)'); -RESET citus.enable_object_propagation; +RESET citus.enable_metadata_sync; SELECT deparse_and_run_on_workers($cmd$ ALTER FUNCTION square SET search_path TO DEFAULT; @@ -343,9 +343,9 @@ BEGIN FROM generate_subscripts(list, 1) g(i); END; $$ LANGUAGE plpgsql; -SET citus.enable_object_propagation TO OFF; +SET citus.enable_metadata_sync TO OFF; SELECT create_distributed_function('sum_avg(NUMERIC[])'); -RESET citus.enable_object_propagation; +RESET citus.enable_metadata_sync; SELECT deparse_and_run_on_workers($cmd$ ALTER FUNCTION sum_avg COST 10000; @@ -358,9 +358,9 @@ RESET citus.enable_ddl_propagation; CREATE FUNCTION func_custom_param(IN param intpair, OUT total INT) AS $$ SELECT param.x + param.y $$ LANGUAGE SQL; -SET citus.enable_object_propagation TO OFF; +SET citus.enable_metadata_sync TO OFF; SELECT create_distributed_function('func_custom_param(intpair)'); -RESET citus.enable_object_propagation; +RESET citus.enable_metadata_sync; SELECT deparse_and_run_on_workers($cmd$ ALTER FUNCTION func_custom_param RENAME TO func_with_custom_param; @@ -372,9 +372,9 @@ CREATE FUNCTION func_returns_table(IN count INT) RETURNS TABLE (x INT, y INT) AS $$ SELECT i,i FROM generate_series(1,count) i $$ LANGUAGE SQL; -SET citus.enable_object_propagation TO OFF; +SET citus.enable_metadata_sync TO OFF; SELECT create_distributed_function('func_returns_table(INT)'); -RESET citus.enable_object_propagation; +RESET citus.enable_metadata_sync; SELECT deparse_and_run_on_workers($cmd$ ALTER FUNCTION func_returns_table ROWS 100; diff --git a/src/test/regress/sql/multi_deparse_procedure.sql b/src/test/regress/sql/multi_deparse_procedure.sql index 6941e749b..2f582ed00 100644 --- a/src/test/regress/sql/multi_deparse_procedure.sql +++ b/src/test/regress/sql/multi_deparse_procedure.sql @@ -56,9 +56,9 @@ BEGIN RAISE INFO 'information message %', $1; END; $proc$; -SET citus.enable_object_propagation TO OFF; +SET citus.enable_metadata_sync TO OFF; SELECT create_distributed_function('raise_info(text)'); -RESET citus.enable_object_propagation; +RESET citus.enable_metadata_sync; SELECT deparse_and_run_on_workers($cmd$ ALTER PROCEDURE raise_info CALLED ON NULL INPUT diff --git a/src/test/regress/sql/multi_extension.sql b/src/test/regress/sql/multi_extension.sql index 833fa35bd..43f24fb10 100644 --- a/src/test/regress/sql/multi_extension.sql +++ b/src/test/regress/sql/multi_extension.sql @@ -101,7 +101,7 @@ DROP EXTENSION citus; \c -- these tests switch between citus versions and call ddl's that require pg_dist_object to be created -SET citus.enable_object_propagation TO 'false'; +SET citus.enable_metadata_sync TO 'false'; SET citus.enable_version_checks TO 'false'; @@ -212,11 +212,11 @@ SELECT * FROM multi_extension.print_extension_changes(); ALTER EXTENSION citus UPDATE TO '9.5-1'; BEGIN; - SET citus.enable_object_propagation TO on; + SET citus.enable_metadata_sync TO on; SELECT master_add_node('localhost', :master_port, groupId=>0); CREATE TABLE citus_local_table (a int); SELECT create_citus_local_table('citus_local_table'); - RESET citus.enable_object_propagation; + RESET citus.enable_metadata_sync; -- downgrade from 9.5-1 to 9.4-1 should fail as we have a citus local table ALTER EXTENSION citus UPDATE TO '9.4-1'; diff --git a/src/test/regress/sql/single_node.sql b/src/test/regress/sql/single_node.sql index 5aba05770..13659f2eb 100644 --- a/src/test/regress/sql/single_node.sql +++ b/src/test/regress/sql/single_node.sql @@ -101,7 +101,7 @@ BEGIN; -- it'd spawn a bg worker targeting this node -- and that changes the connection count specific tests -- here - SET LOCAL citus.enable_metadata_sync_by_default TO OFF; + SET LOCAL citus.enable_metadata_sync TO OFF; -- cannot add workers with specific IP as long as I have a placeholder coordinator record SELECT 1 FROM master_add_node('127.0.0.1', :worker_1_port); COMMIT; @@ -111,7 +111,7 @@ BEGIN; -- it'd spawn a bg worker targeting this node -- and that changes the connection count specific tests -- here - SET LOCAL citus.enable_metadata_sync_by_default TO OFF; + SET LOCAL citus.enable_metadata_sync TO OFF; -- adding localhost workers is ok SELECT 1 FROM master_add_node('localhost', :worker_1_port); COMMIT; @@ -127,7 +127,7 @@ BEGIN; -- it'd spawn a bg worker targeting this node -- and that changes the connection count specific tests -- here - SET LOCAL citus.enable_metadata_sync_by_default TO OFF; + SET LOCAL citus.enable_metadata_sync TO OFF; -- adding workers with specific IP is ok now SELECT 1 FROM master_add_node('127.0.0.1', :worker_1_port); COMMIT; diff --git a/src/test/regress/sql/turn_mx_off.sql b/src/test/regress/sql/turn_mx_off.sql index 1a34d7ab8..f1fc21536 100644 --- a/src/test/regress/sql/turn_mx_off.sql +++ b/src/test/regress/sql/turn_mx_off.sql @@ -1,4 +1,4 @@ -ALTER SYSTEM SET citus.enable_metadata_sync_by_default TO OFF; +ALTER SYSTEM SET citus.enable_metadata_sync TO OFF; SELECT pg_reload_conf(); SET client_min_messages TO ERROR; diff --git a/src/test/regress/sql/turn_mx_on.sql b/src/test/regress/sql/turn_mx_on.sql index 67b548043..b471728f6 100644 --- a/src/test/regress/sql/turn_mx_on.sql +++ b/src/test/regress/sql/turn_mx_on.sql @@ -1,4 +1,4 @@ -ALTER SYSTEM SET citus.enable_metadata_sync_by_default TO ON; +ALTER SYSTEM SET citus.enable_metadata_sync TO ON; SELECT pg_reload_conf(); SELECT pg_sleep(0.1);