一次基于etcd的分布式锁自动延时失败问题的排查

今天在测试基于etcd的分布式锁过程中,在测试获取锁后,释放之前超出TTL时长的情况下自动延长TTL这部分功能,在延长指定key的TTL时总是返回404错误信息,在对目标KEY更新TTL时目标KEY已不存在。

 

最终问题排查为ETCD集群3个节点之间的系统时间不一致,因为TTL延长是在KEY创建后单独一个监听线程中进行,在TTL过半之后会更新TTL,因此可能出现更新TTL之前,由于集群中时间超前的节点将目标KEY删除,导致更新TTL时找不到目标KEY的错误。

 

同步集群所有节点系统时间后问题排除:

ntpdate pool.ntp.org

 

posted @ 2016-11-08 18:03  CeraSumat  阅读(739)  评论(0编辑  收藏  举报