PR #70 声称修复了 #10,但只修了滑动窗口的清理时机,batch_size > 512 时依然丢记录:
batch_size=600:输出 478 行(应 500)——比 2.4.0 的 463 行略好,但仍错误;
batch_size=1024:输出 431 行(应 500);
- 根因在
dedupe.py:_flush():key-set 的更新与窗口滑动不同步,部分 key 在输出后才被加入 set,导致同一窗口内重复键的「第一条」也被当作重复丢弃(注意:是丢、不是保留)。
CHANGELOG 2.4.1 标注的是「部分修复」,v2.4.1 发布说明(v2.4.1)也写了已知问题。完整修复见 PR #73(已包含 batch_size=1024 的边界测试,等待 review)。
PR #70 声称修复了 #10,但只修了滑动窗口的清理时机,
batch_size > 512时依然丢记录:batch_size=600:输出 478 行(应 500)——比 2.4.0 的 463 行略好,但仍错误;batch_size=1024:输出 431 行(应 500);dedupe.py:_flush():key-set 的更新与窗口滑动不同步,部分 key 在输出后才被加入 set,导致同一窗口内重复键的「第一条」也被当作重复丢弃(注意:是丢、不是保留)。CHANGELOG 2.4.1 标注的是「部分修复」,v2.4.1 发布说明(
v2.4.1)也写了已知问题。完整修复见 PR #73(已包含batch_size=1024的边界测试,等待 review)。