Docs 菜单
Docs 主页
/
MongoDB Cluster-to-Cluster Sync
/

mongosync 1.6发布说明

在此页面上

  • 补丁版本
  • 1.6.1 发布
  • 1.6.0 版本
  • 排除筛选器
  • 正则表达式筛选器
  • 7.0 支持
  • 其他说明
  • 最低支持版本

警告

过去的版本限制

以下关键报告会影响某些先前的 mongosync版本。 升级到最新的可用补丁发布。

问题
受影响的版本

mongosync 从从节点(secondary node from replica set)的从节点读取文档时,可能会错过变更事件。

1.5.0 - 1.7.1

mongosync 如果源集群已分分片的负载均衡器,则在初始复制阶段的长时间运行读取期间,可能会错过复制文档。

1.1.0 - 1.7.1

2023 年 10 月 3 日

修复的问题:

  • 修复了一个错误,该错误可能导致长时间运行的mongosync操作过早超时。 现在, mongosync在collection复制阶段产生的MaxTimeMSExpired错误更少了。

2023 年 9 月 22 日

从1.6.0开始, start API端点现在支持通过excludeNamespaces参数使用排除筛选器。

有关详细信息,请参阅筛选的同步。

Filtered Sync中的包含和排除筛选器现在都支持使用带有databaseRegexcollectionsRegex字段的正则表达式来匹配数据库和collection。

有关详细信息,请参阅筛选器中的正则表达式。

从 1.6.0 开始, mongosync支持与 MongoDB 7.0 同步。

新功能:

  • 通过并行化元数据清理来加快提交过程。

  • 对于 6.0 之前的版本,变更事件应用程序期间的内存分配减少了约 30% MongoDB Server 版本的发布。

  • 更改了遥测数据,以便在mongosync因致命错误退出时也向分段发送错误消息。

  • 添加了对mongosync的支持,以便在具有相同主要版本和次要版本但补丁版本不同的源集群和目标集群之间进行同步。

  • 升级版本以使用 Go 1.20。

  • mongosync 现在,当服务器操作花费的时间超过预期时间时,会定期记录日志。

修复的问题:

  • 修复了mongosync v1.5.0 中引入并由我们的内部测试发现的错误。在极少数边缘情况下, mongosync可能会错过collection复制阶段要应用的变更事件。

    要发生此错误,变更事件必须介于mongosync正在复制的特定_id范围之间,必须在复制该特定_id范围时发生和处理,并且不得在迁移的其余过程中,紧随其后的是同一_id的另一个变更事件。

    仅当mongosync在collection复制期间以接近于零的复制延迟处理变更事件时,才会出现此错误。

  • 修复了以下错误:由于源集群包含具有未知索引选项的旧版索引, mongosync可能会崩溃。

  • 修复了以下错误:如果应用程序无法在 5 分钟内读取 500 个文档,或者在读取源集群上的change stream时到达 oplog 末尾,则在event应用期间, mongosync可能会崩溃并出现错误。

  • 修复了以下错误:当索引对collection文档应用约束时, mongosync可能会崩溃。

    如果在几乎同时删除或插入违反这些限制的索引的同时添加或删除此类索引,则会发生此崩溃。 它会显示如下错误:

    Ambiguous field name found in array (do not use numeric field names in embedded elements in an array)

    或类似错误。 此修复降低了崩溃的可能性,但并不能消除发生崩溃的可能性。

  • 修复了以下错误:如果插入文档同时导致重复键错误和写关注错误,则mongosync可能无法复制某些文档。 自第一个版本以来,这个错误就存在于 mongosync 中,如果目标集群(cluster)日志报告写关注(write concern)错误和重复键错误,则可能出现此错误。

  • 修复了mongosync 1.5 中引入的错误;当源集群上几乎没有写入活动时,在collection复制阶段可能会跳过事件。

  • 修复了mongosync v1.5.0 中引入并由我们的内部测试发现的罕见错误。在特定情况下,oplog 韧性 (ORR) 周期之间可能存在小的连续性间隙,导致 ORR 机制可能错过以下更改事件:在collection复制阶段应用。

    这是一种极端情况,因为它在源集群上始终需要很少的写入活动(即 mongosync复制延迟在集合复制期间始终接近于零),并且更改事件处于 ORR 周期之间的特定_id范围内。

  • 修复了 v1.5.0 中引入的错误,在该错误中, mongosync可能会导致具有非默认排序规则的collection出现数据一致性错误。

    此问题仅影响在mongosync初始化期间存在的具有非简单排序规则的collection,并且包含具有字符串_id值的文档。在mongosync初始化后创建的任何具有非简单排序规则的collection或其文档全部包含非字符串_id值的collection都不受影响。

    注意

    为了缓解这一问题,如果在 Mongosync 初始化期间发现至少一个collection具有非简单排序规则, mongosync v1.6.0 会自动禁用 oplog 韧性。

    我们将为未来版本研究更持久的解决方案。

在 1.6 中,支持的最低 MongoDB 版本为 6.0.8 和 7.0.0。

后退

1.7