From 029ddc81fa2c8cae2502acec07d45d0fe51a5d70 Mon Sep 17 00:00:00 2001 From: chenxiaobin19 <1025221611@qq.com> Date: Thu, 16 Jun 2022 15:45:22 +0800 Subject: [PATCH] move max_sync_workers_per_subscription from g_instance to u_sess --- src/common/backend/utils/misc/guc/guc_storage.cpp | 2 +- src/gausskernel/storage/replication/logical/tablesync.cpp | 2 +- src/include/knl/knl_guc/knl_instance_attr_storage.h | 1 - src/include/knl/knl_guc/knl_session_attr_storage.h | 1 + 4 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/common/backend/utils/misc/guc/guc_storage.cpp b/src/common/backend/utils/misc/guc/guc_storage.cpp index d70c9b6f7..4ce320051 100755 --- a/src/common/backend/utils/misc/guc/guc_storage.cpp +++ b/src/common/backend/utils/misc/guc/guc_storage.cpp @@ -2238,7 +2238,7 @@ static void InitStorageConfigureNamesInt() REPLICATION, gettext_noop("Maximum number of table synchronization workers per subscription."), NULL}, - &g_instance.attr.attr_storage.max_sync_workers_per_subscription, + &u_sess->attr.attr_storage.max_sync_workers_per_subscription, 2, 0, MAX_BACKENDS, diff --git a/src/gausskernel/storage/replication/logical/tablesync.cpp b/src/gausskernel/storage/replication/logical/tablesync.cpp index 1be6a90d5..327218fdc 100644 --- a/src/gausskernel/storage/replication/logical/tablesync.cpp +++ b/src/gausskernel/storage/replication/logical/tablesync.cpp @@ -513,7 +513,7 @@ static void process_syncing_tables_for_apply(XLogRecPtr current_lsn) * If there are free sync worker slot(s), start a new sync * worker for the table. */ - if (nsyncworkers < g_instance.attr.attr_storage.max_sync_workers_per_subscription) { + if (nsyncworkers < u_sess->attr.attr_storage.max_sync_workers_per_subscription) { logicalrep_worker_launch(t_thrd.applyworker_cxt.curWorker->dbid, t_thrd.applyworker_cxt.mySubscription->oid, t_thrd.applyworker_cxt.mySubscription->name, diff --git a/src/include/knl/knl_guc/knl_instance_attr_storage.h b/src/include/knl/knl_guc/knl_instance_attr_storage.h index 74e7d6874..d52797c9b 100755 --- a/src/include/knl/knl_guc/knl_instance_attr_storage.h +++ b/src/include/knl/knl_guc/knl_instance_attr_storage.h @@ -154,7 +154,6 @@ typedef struct knl_instance_attr_storage { int wal_flush_timeout; int wal_flush_delay; int max_logical_replication_workers; - int max_sync_workers_per_subscription; char *redo_bind_cpu_attr; } knl_instance_attr_storage; diff --git a/src/include/knl/knl_guc/knl_session_attr_storage.h b/src/include/knl/knl_guc/knl_session_attr_storage.h index ed7748d0e..7b5131d4c 100755 --- a/src/include/knl/knl_guc/knl_session_attr_storage.h +++ b/src/include/knl/knl_guc/knl_session_attr_storage.h @@ -248,6 +248,7 @@ typedef struct knl_session_attr_storage { bool reserve_space_for_nullable_atts; knl_session_attr_dcf dcf_attr; int catchup2normal_wait_time; + int max_sync_workers_per_subscription; } knl_session_attr_storage; #endif /* SRC_INCLUDE_KNL_KNL_SESSION_ATTR_STORAGE */