Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[doc][2024.2.1] Added limitations for YSQL Connection Manager #25458

Merged
merged 5 commits into from
Jan 14, 2025
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you be more specific? only flags, not YSQL configuration parameters, are listed above - so what values are you talking about?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

GUC values have nothing to do with anything previously mentioned on this page; this category of session-specific database objects may not have the correct behaviour when using connection manager as per the limitation I have mentioned. I also use the term "may" on this line because trying to explain the scenario(s) where this behaviour can be seen would dive into too many technical details for what is a very rare corner case.

rahulb-yb marked this conversation as resolved.
Show resolved Hide resolved
- 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.
ddhodge marked this conversation as resolved.
Show resolved Hide resolved
- `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.
Copy link
Contributor

@ddhodge ddhodge Jan 5, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- `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. To support these functions, use the `ysql_conn_mgr_sequence_support_mode` flag.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the ysql_conn_mgr_sequence_support_mode is not a boolean flag, I can try to incorporate this comment in a similar fashion

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I changed the suggested text slightly

ddhodge marked this conversation as resolved.
Show resolved Hide resolved