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

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

rahulb-yb
Copy link
Contributor

@rahulb-yb rahulb-yb commented Dec 31, 2024

This PR adds the "Limitations" section for v2024.2 docs of YSQL Connection Manager.

@netlify /stable/explore/going-beyond-sql/connection-mgr-ysql/

@rahulb-yb rahulb-yb self-assigned this Dec 31, 2024
@CLAassistant
Copy link

CLAassistant commented Dec 31, 2024

CLA assistant check
All committers have signed the CLA.

@rahulb-yb rahulb-yb added the area/documentation Documentation needed label Dec 31, 2024
Copy link

netlify bot commented Dec 31, 2024

Deploy Preview for infallible-bardeen-164bc9 ready!

Name Link
🔨 Latest commit a9896fe
🔍 Latest deploy log https://app.netlify.com/sites/infallible-bardeen-164bc9/deploys/6780a3b5d0340100087a4a8a
😎 Deploy Preview https://deploy-preview-25458--infallible-bardeen-164bc9.netlify.app/stable/explore/going-beyond-sql/connection-mgr-ysql/
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.


## 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.

## 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.
Copy link
Contributor

Choose a reason for hiding this comment

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

is this simultaneous, or what exactly?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

not simultaneous - Connection Manager can route upto 10,000 unique connection pools over its lifetime as a process. As of now, there is no capability to "clean up" the history of pools for "dead" routes corresponding to users or databases that do not exist

- 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.
Copy link
Contributor

Choose a reason for hiding this comment

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

tracking issue?

- 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.
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 ddhodge removed the request for review from aishwarya24 January 9, 2025 05:30
@ddhodge ddhodge changed the title [docs] Added limitations for YSQL Connection Manager [doc][2024.2.1] Added limitations for YSQL Connection Manager Jan 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/documentation Documentation needed
Projects
Status: In progress
Development

Successfully merging this pull request may close these issues.

3 participants