flashJd opened a new pull request, #6388:
URL: https://github.com/apache/hudi/pull/6388
### Change Logs
when changelog disabled, we first emit "+I[id1, Danny, 24,
1970-01-01T00:00:00.003, par1]", then emit "-D[id1, Danny, 30,
1970-01-01T00:00:00.001, par1]", the former +I will be selected comparing
preCombine field in `processNextDeletedRecord`
https://github.com/apache/hudi/blob/master/hudi-common/src/main/java/org/apache/hudi/common/table/log/HoodieMergedLogRecordScanner.java#L178
when read.
But when we first emit "-D[id1, Danny, 24, 1970-01-01T00:00:00.003, par1]",
then emit "+I[id1, Danny, 30, 1970-01-01T00:00:00.001, par1]", the latter +I
will always be selected irrespective of preCombine field in `processNextRecord`
https://github.com/apache/hudi/blob/master/hudi-common/src/main/java/org/apache/hudi/common/model/OverwriteWithLatestAvroPayload.java#L53
when read.
The semantic is inconsistent when the emit order changes. Also it is not
aligned to preCombine logic when changelog enabled.
### Impact
medium
### Contributor's checklist
- [ ] Read through [contributor's
guide](https://hudi.apache.org/contribute/how-to-contribute)
- [ ] Change Logs and Impact were stated clearly
- [ ] Adequate tests were added if applicable
- [ ] CI passed
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]