暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

MongoDB版本bug

四海内皆兄弟 2022-03-23
613

     从前有人问要上一套MongoDB,问我要用什么版本?从我的角度来说我觉得最新的较好。一个是为了避免后续升级,二是减少漏洞,三是处理了bug,四是有新特性。我现在为我当初的决定感到庆,我的判断是对的。但是如果没有按照我说的做就坑了。

     接到求助说应用连接不到mongo了。我尝试登录上去一看。有三台机器,每台上面的进都一样。我只贴一个。

    看到这里,心中有一丝安慰,好在基础的这些都还在。那么就不用慌了,只是mongos的进程没有了。那么问题不是非常大。如果每个节点都有各式各样的问题,那就棘手了。

     尝试登录几个节点看看能不能用。看到了113是主节点。114和115都是secondary。证明集群状态完好,我们的危险已经基本排除了。现在只要恢复mongos就行了。

     启动,但是启动不了。看了日志先网上查查日志自救一下。查下来说是这个问题。

我看了一下安装时间

再对比一下当时的时间。差不多时间对得上。

当然了网上的未必是真的,找到社区的人求证一下。大家都确认了是版本使用不当。不应该用不稳定的版本。

问题描述以及影响

The bug causes a failure of the thread that creates new Hash-based Message Authentication Code (HMAC) signing keys every 90 days.

New keys are generated when the Config Server Replica Set (CSRS) fails over. So, if a failover does not happen on the CSRS for 90 days, operations across the sharded cluster will start to fail and will not succeed again until the CSRS fails over.

   有位大佬帮我这样指出和评价。这也印证了我为什么要用最新版本,如果都用新版本的话,是不会出现这个问题的。

    立即处理的方法就是回避这个bug,手工切换就可以重新生成新密钥。相当于重新激活线程去创建密钥,之前主库的创建密钥的线程是死了。经过手工干预rs.stepDown()。完成了切换,完成后立即看到应用程序连接了。

     任何数据库软件选择成熟大版本的稳定小版本。

文章转载自四海内皆兄弟,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论