暂缓MongoDB 4.4.2 、4.4.3、 4.4.4版本升级: 存在严重Bug

SegmentFault

共 1010字,需浏览 3分钟

 · 2021-11-20

技术编辑:61丨发自 思否编辑部
公众号:SegmentFault



据 MongoDB 官网发布:从 4.4.2~4.4.4 版本升级到 4.4.8+ 或 5.0.2 +版本时,存在严重 bug ,有升级计划的伙伴们请暂缓实施。

造成原因


升级过程中即使正常关闭了 mongod 实例,MongoDB 仍有可能使用 WT 引擎 metadata 文件中的错误信息,从而使用错误的 checkpoint,导致MongoDB 中的数据产生不一致。

问题描述


  • 4.4.2、4.4.3、4.4.4 版本在彻底关闭时留下一段无效的元数据。
  • 我们在 4.4.5 中开始使用元数据进行决策时发现并修复了该错误。
  • 在 4.4.8 和更新版本中,我们添加了假设元数据正确的代码,当它不正确时,WiredTiger 可以删除升级后应保留的内容。


解决方案


正在使用上述版本的伙伴们暂时不要升级,等待修复该问题后再升级。

软件介绍


MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

它支持的数据结构非常松散,是类似 json 的 bjson 格式,因此可以存储比较复杂的数据类型。

它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

MongoDB 服务端可运行在 Linux、Windows 或 OS X 平台,支持 32 位和 64 位应用,默认端口为 27017。推荐运行在 64 位平台,因为 MongoDB 在 32 位模式运行时支持的最大文件尺寸为 2GB。

功能特性


它的特点是高性能、易部署、易使用,存储数据非常方便。

  • 面向集合存储,易存储对象类型的数据。
  • 模式自由
  • 支持动态查询
  • 支持完全索引,包含内部对象
  • 支持查询
  • 支持复制和故障恢复
  • 使用高效的二进制数据存储,包括大型对象(如视频等)
  • 自动处理碎片,以支持云计算层次的扩展性
  • 支持RUBY,PYTHON,JAVA,C++,PHP等多种语言
  • 文件存储格式为BSON(一种JSON的扩展)
  • 可通过网络访问


整体架构




内部架构



- END -

浏览 17
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报