Hi Antonin, Thanks for the diff. I am still on 0004, so the two fixes attached are against v03-0004 alone. They apply on top of it in this order.
1. replay_all_blocks_the_scan_passed gap.spec still loses 40 rows with your diff. The replay must use cur, not the old range end, because the scan skips blocks that have no tuples. 2. syncscan_wraparound finalize_block_range() only updates range_end, so after the wrap "blkno < range_start" stays true for every tuple. The check now follows is_block_in_range(), and the last range is capped at range_start. 100 blocks, scan starts at 48, about 1700 boundaries before, 6 after. With both, extend.spec and gap.spec lose no rows, and all tests pass. Thanks, Shihao
nocfbot.replay_all_blocks_the_scan_passed.diff
Description: Binary data
nocfbot.syncscan_wraparound.diff
Description: Binary data
