You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
这个时间戳在短时间如果高频写入,会出现丢失更新的问题。
这里举一个反例,比如 t1\t2 针对同一个dataid修改两次,t1<t2,但是因为gc等原因,t2先执行的 update db, 并且完成集群内部广播,成功执行完dump,t1 此时刚刚执行update db 成功,磁盘缓存就会导致最后一个更新丢失。
The text was updated successfully, but these errors were encountered:
dongyun-coder
changed the title
Nacos [配置中心] 缓存不一致,Config dump的时候,通过时间戳判断是否是旧数据不合理,并导致磁盘缓存不一致
Nacos [配置中心] 缓存不一致,Config dump的时候,通过时间戳判断是否是旧数据不合理
Nov 21, 2024
问题描述
ConfigCacheService 在更新dump的逻辑 (最新代码)
如果时间戳小于当前值,拒绝此次dump
生产上出现了日志,导致最新的变更, 没有成功更新缓存
这里用时间戳预期是避免旧数据的覆盖,可能是考虑到 集群内部同步的一些retry任务(retry任务时间戳可能比较旧),但是没有什么道理!
这里举一个反例,比如 t1\t2 针对同一个dataid修改两次,t1<t2,但是因为gc等原因,t2先执行的 update db, 并且完成集群内部广播,成功执行完dump,t1 此时刚刚执行update db 成功,磁盘缓存就会导致最后一个更新丢失。
The text was updated successfully, but these errors were encountered: