From a1529eb6b15a04b876845dce8fff19f45afc1cb1 Mon Sep 17 00:00:00 2001 From: Rahul Barigidad Date: Tue, 31 Dec 2024 06:27:21 +0000 Subject: [PATCH 1/5] Limitations for conn mgr --- .../explore/going-beyond-sql/connection-mgr-ysql.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docs/content/stable/explore/going-beyond-sql/connection-mgr-ysql.md b/docs/content/stable/explore/going-beyond-sql/connection-mgr-ysql.md index ccd117c411b7..08b67566afd9 100644 --- a/docs/content/stable/explore/going-beyond-sql/connection-mgr-ysql.md +++ b/docs/content/stable/explore/going-beyond-sql/connection-mgr-ysql.md @@ -97,3 +97,13 @@ The following table describes YB-TServer flags related to YSQL Connection Manage | ysql_conn_mgr_server_lifetime | The maximum duration (in seconds) that a backend PostgreSQL connection managed by YSQL Connection Manager can remain open after creation. | 3600 | | ysql_conn_mgr_log_settings | Comma-separated list of log settings for YSQL Connection Manger. Can include 'log_debug', 'log_config', 'log_session', 'log_query', and 'log_stats'. | "" | | ysql_conn_mgr_use_auth_backend | Enable the use of the auth-backend for authentication of logical connections. When false, the older auth-passthrough implementation is used. | true | + +## Limitations + +- Changes to default GUC values for a user or database (ALTER ROLE SET/ALTER DATABASE SET queries) may reflect in other pre-existing active sessions. +- Connection Manager can only support upto a total of 10,000 pools to route. This includes pools corresponding to dropped users and databases as well. +- Prepared statements may be visible to other sessions within the same connection pool. [#24652](https://github.com/yugabyte/yugabyte-db/issues/24652) +- Attempting to use DEALLOCATE/DEALLOCATE ALL queries can result in unexpected behavior. [#24653](https://github.com/yugabyte/yugabyte-db/issues/24653) +- As of now, Connection Manager does not facilitate custom configurations per pool. All configurations used will apply to every pool that Connection Manager routes through. +- With connection manager enabled, the backend PID stored using JDBC drivers may not accurate. This does not affect backend-specific functionalities (eg. cancel queries), but this PID should not be used to identify the backend process. +- `currval` and `nextval` functions do not work by default with connection manager enabled. They can be supported with the help of the `ysql_conn_mgr_sequence_support_mode` flag. From 894dcd4e8ebdd7b75642db8114aba7656744262f Mon Sep 17 00:00:00 2001 From: Rahul Barigidad <72571621+rahulb-yb@users.noreply.github.com> Date: Thu, 9 Jan 2025 18:28:52 +0530 Subject: [PATCH 2/5] Apply suggestions from code review Co-authored-by: Dwight Hodge <79169168+ddhodge@users.noreply.github.com> --- .../explore/going-beyond-sql/connection-mgr-ysql.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/content/stable/explore/going-beyond-sql/connection-mgr-ysql.md b/docs/content/stable/explore/going-beyond-sql/connection-mgr-ysql.md index 08b67566afd9..9fa7b31b68db 100644 --- a/docs/content/stable/explore/going-beyond-sql/connection-mgr-ysql.md +++ b/docs/content/stable/explore/going-beyond-sql/connection-mgr-ysql.md @@ -101,9 +101,9 @@ The following table describes YB-TServer flags related to YSQL Connection Manage ## Limitations - Changes to default GUC values for a user or database (ALTER ROLE SET/ALTER DATABASE SET queries) may reflect in other pre-existing active sessions. -- Connection Manager can only support upto a total of 10,000 pools to route. This includes pools corresponding to dropped users and databases as well. -- Prepared statements may be visible to other sessions within the same connection pool. [#24652](https://github.com/yugabyte/yugabyte-db/issues/24652) +- YSQL Connection Manager can route up to 10,000 connection pools. This includes pools corresponding to dropped users and databases. +- Prepared statements may be visible to other sessions in the same connection pool. [#24652](https://github.com/yugabyte/yugabyte-db/issues/24652) - Attempting to use DEALLOCATE/DEALLOCATE ALL queries can result in unexpected behavior. [#24653](https://github.com/yugabyte/yugabyte-db/issues/24653) -- As of now, Connection Manager does not facilitate custom configurations per pool. All configurations used will apply to every pool that Connection Manager routes through. -- With connection manager enabled, the backend PID stored using JDBC drivers may not accurate. This does not affect backend-specific functionalities (eg. cancel queries), but this PID should not be used to identify the backend process. +- Currently, you can't apply custom configurations to individual pools. The YSQL Connection Manager configuration applies to all pools. +- When YSQL Connection Manager is enabled, the backend PID stored using JDBC drivers may not accurate. This does not affect backend-specific functionalities (for example, cancel queries), but this PID should not be used to identify the backend process. - `currval` and `nextval` functions do not work by default with connection manager enabled. They can be supported with the help of the `ysql_conn_mgr_sequence_support_mode` flag. From f2f5a30b4297492d5dcaa190b3f6a22c02efa843 Mon Sep 17 00:00:00 2001 From: Rahul Barigidad Date: Thu, 9 Jan 2025 13:06:24 +0000 Subject: [PATCH 3/5] Review comment --- .../stable/explore/going-beyond-sql/connection-mgr-ysql.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/content/stable/explore/going-beyond-sql/connection-mgr-ysql.md b/docs/content/stable/explore/going-beyond-sql/connection-mgr-ysql.md index 9fa7b31b68db..1ddd4615c759 100644 --- a/docs/content/stable/explore/going-beyond-sql/connection-mgr-ysql.md +++ b/docs/content/stable/explore/going-beyond-sql/connection-mgr-ysql.md @@ -106,4 +106,4 @@ The following table describes YB-TServer flags related to YSQL Connection Manage - Attempting to use DEALLOCATE/DEALLOCATE ALL queries can result in unexpected behavior. [#24653](https://github.com/yugabyte/yugabyte-db/issues/24653) - Currently, you can't apply custom configurations to individual pools. The YSQL Connection Manager configuration applies to all pools. - When YSQL Connection Manager is enabled, the backend PID stored using JDBC drivers may not accurate. This does not affect backend-specific functionalities (for example, cancel queries), but this PID should not be used to identify the backend process. -- `currval` and `nextval` functions do not work by default with connection manager enabled. They can be supported with the help of the `ysql_conn_mgr_sequence_support_mode` flag. +- By default, `currval` and `nextval` functions do not work when YSQL Connection Manager is enabled. They can be supported with the help of the `ysql_conn_mgr_sequence_support_mode` flag. From 6bd8ec957c214cfbeb615359b3d106a8ca0759f0 Mon Sep 17 00:00:00 2001 From: Rahul Barigidad <72571621+rahulb-yb@users.noreply.github.com> Date: Fri, 10 Jan 2025 09:13:15 +0530 Subject: [PATCH 4/5] Apply suggestions from code review Co-authored-by: Dwight Hodge <79169168+ddhodge@users.noreply.github.com> --- .../stable/explore/going-beyond-sql/connection-mgr-ysql.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/content/stable/explore/going-beyond-sql/connection-mgr-ysql.md b/docs/content/stable/explore/going-beyond-sql/connection-mgr-ysql.md index 1ddd4615c759..dc445710e71a 100644 --- a/docs/content/stable/explore/going-beyond-sql/connection-mgr-ysql.md +++ b/docs/content/stable/explore/going-beyond-sql/connection-mgr-ysql.md @@ -100,7 +100,7 @@ The following table describes YB-TServer flags related to YSQL Connection Manage ## Limitations -- Changes to default GUC values for a user or database (ALTER ROLE SET/ALTER DATABASE SET queries) may reflect in other pre-existing active sessions. +- Changes to [configuration parameters](../../../reference/configuration/yb-tserver/#postgresql-server-options) for a user or database that are set using ALTER ROLE SET or ALTER DATABASE SET queries may reflect in other pre-existing active sessions. - YSQL Connection Manager can route up to 10,000 connection pools. This includes pools corresponding to dropped users and databases. - Prepared statements may be visible to other sessions in the same connection pool. [#24652](https://github.com/yugabyte/yugabyte-db/issues/24652) - Attempting to use DEALLOCATE/DEALLOCATE ALL queries can result in unexpected behavior. [#24653](https://github.com/yugabyte/yugabyte-db/issues/24653) From a9896fed29379dfaf9d0e107c40eb3793fef83db Mon Sep 17 00:00:00 2001 From: Dwight Hodge <79169168+ddhodge@users.noreply.github.com> Date: Thu, 9 Jan 2025 23:36:03 -0500 Subject: [PATCH 5/5] Update docs/content/stable/explore/going-beyond-sql/connection-mgr-ysql.md --- .../stable/explore/going-beyond-sql/connection-mgr-ysql.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/content/stable/explore/going-beyond-sql/connection-mgr-ysql.md b/docs/content/stable/explore/going-beyond-sql/connection-mgr-ysql.md index dc445710e71a..1583de6c28cc 100644 --- a/docs/content/stable/explore/going-beyond-sql/connection-mgr-ysql.md +++ b/docs/content/stable/explore/going-beyond-sql/connection-mgr-ysql.md @@ -105,5 +105,5 @@ The following table describes YB-TServer flags related to YSQL Connection Manage - Prepared statements may be visible to other sessions in the same connection pool. [#24652](https://github.com/yugabyte/yugabyte-db/issues/24652) - Attempting to use DEALLOCATE/DEALLOCATE ALL queries can result in unexpected behavior. [#24653](https://github.com/yugabyte/yugabyte-db/issues/24653) - Currently, you can't apply custom configurations to individual pools. The YSQL Connection Manager configuration applies to all pools. -- When YSQL Connection Manager is enabled, the backend PID stored using JDBC drivers may not accurate. This does not affect backend-specific functionalities (for example, cancel queries), but this PID should not be used to identify the backend process. +- When YSQL Connection Manager is enabled, the backend PID stored using JDBC drivers may not be accurate. This does not affect backend-specific functionalities (for example, cancel queries), but this PID should not be used to identify the backend process. - By default, `currval` and `nextval` functions do not work when YSQL Connection Manager is enabled. They can be supported with the help of the `ysql_conn_mgr_sequence_support_mode` flag.