-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
[improve] [pip] PIP-298 Consumer supports specifying consumption isolation level #21114
Conversation
@hzh0425 Please add the following content to your PR description and select a checkbox:
|
@liangyepianzhou pls cc |
Leave an example to illustrate the usage scenario. Operations: Large volume of deposit and withdrawal operations, a Roles:
Client Operations:
Real-time Monitoring System D: Obtains the latest data from Business Processing System E: Reads data from Request Topic C, User Scenario: Client A1 sends a large number of deposit and In this case, Business Processing System E needs a read-committed In this case, it is necessary to set different isolation levels for |
pip/pip-298.md
Outdated
|
||
## Reject Alternatives | ||
|
||
None |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In the original template there is "# Monitoring".
One aspect of monitoring IMO is to know for each subscription, it's isolation level. Can you please describe how users will be able to know that? What is changing in "## Public-facing Changes״ ׳ which allows me to know that?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @asafm , Thank you for your suggestion.
According to your suggestion, I have made the following two improvements:
- Added a new section ##Public-facing Changes to describe changes to the API.
- Added a new #Monitor section. Users can monitor the newly added subscriptionStats.subscriptionIsolationLevel through the admin tool.
When you are free, please help and take a look again
## API Changes | ||
# High Level Design | ||
|
||
Add a configuration 'subscriptionIsolationLevel' in the consumer builder to allow users to choose different transaction |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@codelipenghui Do we keep a table of client features each SDK needs to implement?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It should be this one: https://pulsar.apache.org/client-feature-matrix/
|
||
- If Subscription.isolationLevel == ReadUnCommitted, then MaxReadPosition = PositionImpl.LATEST | ||
# Monitoring |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good
@dave2wave hi dave, Could you pls take a look for this pip when you are free? |
This PIP is not implemented, right? Why did the PR of the document be merged? apache/pulsar-site#712 |
Motivation
This pip is to implement Read Committed and Read Uncommitted isolation levels for Pulsar transactions, allow consumers to configure isolation levels during the building process.
For more details, please refer to
pip-298.md
Does this pull request potentially affect one of the following parts:
If the box was checked, please highlight the changes
Documentation
doc
doc-required
doc-not-needed
doc-complete
Matching PR in forked repository
PR in forked repository: