bk-user
bk-user copied to clipboard
[风险] 去掉同步时所有数据禁用逻辑,改成增量完成后额外扫描标记删除
当前我们在同步时会目录中所有数据默认全部软删除,然后再通过远端数据重建,修改删除标记字段。
这样做比较简单,不需要对比数据差异,天然可以去除远端数据中已删除内容。但是由于每次同步都会修改已存在数据,影响面很大。当同步流程中存在 OOM,进程直接将直接被杀死,无法进行原有的异常事务回滚,此时会影响所有数据,十分危险。
需要修改成:当新增 & 更新数据完成后,另外对比本地数据和远端数据的人员差异,将多余的人员进行软删除
当前完成改造的插件:
- [ ] local
- [ ] ldap/md
- [ ] custom
- 是否考虑同步如满足某个条件(更新条目数量超过 5% 之类),需要管理员二次确认?
- 是否考虑同步如满足某个条件(更新条目数量超过 5% 之类),需要管理员二次确认?
当前阶段应该不会做,流程有点复杂。 @Xmandon 有空也可以评估考虑下,以后是否会有这个需求
软删除 -> do something -> enable it
风险比较高, 失败后对应用户还是禁用状态, 会导致登录/权限查询都会有问题