mongosync 1.6发布说明
警告
过去的版本限制
以下关键报告会影响某些先前的 mongosync
版本。 升级到最新的可用补丁发布。
问题 | 受影响的版本 |
---|---|
| 1.5.0 - 1.7.1 |
| 1.1.0 - 1.7.1 |
补丁版本
1.6.1 发布
2023 年 10 月 3 日
修复的问题:
修复了一个错误,该错误可能导致长时间运行的
mongosync
操作过早超时。 现在,mongosync
在collection复制阶段产生的MaxTimeMSExpired
错误更少了。
1.6.0 版本
2023 年 9 月 22 日
排除筛选器
从1.6.0开始, start
API端点现在支持通过excludeNamespaces
参数使用排除筛选器。
有关详细信息,请参阅筛选的同步。
正则表达式筛选器
Filtered Sync中的包含和排除筛选器现在都支持使用带有databaseRegex
和collectionsRegex
字段的正则表达式来匹配数据库和collection。
有关详细信息,请参阅筛选器中的正则表达式。
7.0 支持
从 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。