Open TakaHiR07 opened 3 months ago
The implementation seems could work, but I'm not sure is it a good idea that maintain maxReadPosition
in ML layer, since it is a messaging layer isolation policy which is for the purpose of providing READ_COMMITTED semantic.
The implementation seems could work, but I'm not sure is it a good idea that maintain
maxReadPosition
in ML layer, since it is a messaging layer isolation policy which is for the purpose of providing READ_COMMITTED semantic.
Firstly I also try to remove maxReadPosition
in ML layer. However, if the process is hasMoreEntry() check -> maxReadPosition change -> add to waitingCursor
, there is a risk that waitingCursor never notify. So ML layer need to know the maxReadPosition
actual value.
PTAL, thanks. @congbobo184 @liangyepianzhou
Motivation
This pr is similar to a previous pr https://github.com/apache/pulsar/pull/14286. Since previous pr is closed, I implement it in master branch and improve some logic and add some test.
Modifications
Currently :
I make many comments in the code, which maybe the concerned point.
And this pr try to retain the same process as before if disable txn. Aiming to fix the issue after enable txn.
Verifying this change
(Please pick either of the following options)
This change is a trivial rework / code cleanup without any test coverage.
(or)
This change is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:
(example:)
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: