[FLINK-35576]Fix bug of newer ingested data assigned with an older seqno (#12257) #78
+77
−20
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.
Summary:
Context:
We found an edge case where newer ingested data is assigned with an older seqno. This causes older data of that key to be returned for read.
Consider the following lsm shape:
Then ingest a file to L5 containing new data of key_overlap. Because of this, the file is assigned with seqno 2, older than the old data's seqno 4. After just another compaction, we will drop the new_v for key_overlap because of the seqno and cause older data to be returned.
Summary:
This PR removes the incorrect seqno assignment
Pull Request resolved: facebook/rocksdb#12257
Test Plan:
Reviewed By: cbi42
Differential Revision: D52926092
Pulled By: hx235
fbshipit-source-id: 9e4dade0f6cc44e548db8fca27ccbc81a621cd6f (cherry picked from commit 1b2b16b38ef760252d61b123e7e39c26306cd1c7)