Problem: Incorrect flush LSN from source being used to find durable LSN #615
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Solution: Use flush LSN from target to find the durable LSN.
To find a durable LSN with async commit, we maintain a list of LSN mapping between source(sourceLSN) and target(insertLSN). New mapping will be inserted into the list on COMMIT or KEEPALIVE message.
While reporting the replay_lsn to sentinel we have to get the flush lsn from target and compare it against the insertLSN from the list to find the sourceLSN.
This has been discussed in #608 (comment)