Open cyLeeEternalGarden opened 1 year ago
newColumns.sort(new EventColumnIndexComparable()); // 排序 // 把上一次变更的旧主键传递到这次变更的旧主键. newEventData.setOldKeys(oldEventData.getOldKeys());
这里没有对oldEventData.getOldKeys()判空,会导致: 如果上一条是udpate非主键,下一条是update主键,那么上一条的oldkeys就是为空, 那么会覆盖掉下一条的oldkeys,让下一条的oldkeys为空。
应该改为:
if (!CollectionUtils.isEmpty(oldEventData.getOldKeys())) { newEventData.setOldKeys(oldEventData.getOldKeys()); }
实际测试mysql同步无问题,因为Load阶段前把update主键转换成了insert,走不到上面的逻辑。
这里没有对oldEventData.getOldKeys()判空,会导致: 如果上一条是udpate非主键,下一条是update主键,那么上一条的oldkeys就是为空, 那么会覆盖掉下一条的oldkeys,让下一条的oldkeys为空。
应该改为:
实际测试mysql同步无问题,因为Load阶段前把update主键转换成了insert,走不到上面的逻辑。