Docs 菜单

mongosync 版本控制

Cluster-to-Cluster Sync使用 语义版本控制2.0.0 。版本号的形式为X.Y.Z ,其中X为主要版本, Y为次要版本, Z为补丁版本。

MongoDB 使用以下准则来确定何时递增 Cluster-to-Cluster Sync 的版本号:

  • 主要版本号:该版本破坏了向后兼容性。

  • 次要版本号:该版本包含向后兼容的重要新功能。

  • 补丁号:此版本仅包含向后兼容的小型更改。

MongoDB仅支持每个主要版本的最新补丁发布。 示例, mongosync 1.13.0是1.12的最新补丁发布。 如果您使用的mongosync版本不受支持,则可能会要求您升级才能获得支持。

Cluster-to-Cluster Sync 有以下与版本相关的注意事项:

  • 从该系列的第一个版本开始,主要版本的支持时间至少为一年。

  • 如果某个版本的 Cluster-to-Cluster Sync 仅适用于不支持的 MongoDB Server 版本,则该版本的 Cluster-to-Cluster Sync 也不受支持。

只有每个主要版本系列中的最新版本才会收到新的补丁版本。 例如,当发布 Cluster-to-Cluster Sync 2.1.0 版本时,2.0 版本将不再接收补丁版本。同时,1.3 版本将继续接收补丁,直到 1.4 版本发布。

注意

mongosync 支持从 v1.12 实时升级到 v1.13。

使用以下步骤升级或降级 mongosync

  • 停止当前正在运行的所有mongosync进程。

  • 删除目标集群中的所有非系统数据库。

  • 安装新的mongosync二进制文件。

  • 使用新的二进制文件启动mongosync进程。

警告

新的mongosync进程不会恢复任何可能正在进行的工作。 启动新进程时,同步操作将从头开始。

在正常操作期间, mongosync会创建持久保存到目标数据库磁盘的元数据。 此元数据没有版本控制,可能随时更改。

日志消息格式没有版本控制,可能随时更改。 这包括对消息文本的更改,以及消息中其他字段是否存在或内容。

用户脚本和应用程序不应依赖日志输出。 脚本和应用程序应使用监控 API来确定mongosync的当前状态。

以下示例说明了可能导致每种版本号更新的变更类型。

  • 某些更改会导致新旧版本的mongosync在目标集群上针对同一组输入产生不同的结果。 不包括:

    • 修复了旧版本的mongosync无法复制数据的错误。

    • 当早期行为被明确记录为不支持时。

  • 更改已记录的 CLI 参数或配置键,导致mongosync拒绝以前有效的输入。 不包括:

    • 错误修复,例如解析或类型错误。

    • 尽管 CLI 参数或配置键可能已弃用,但记录的 CLI 参数或配置键的含义永远不会改变。 如果需要,新参数或键将替换旧的、已弃用的实体。

  • 破坏与受支持的 MongoDB Server 版本的兼容性的更改。

  • 删除 REST API 的一个版本。 mongosync可能会放弃所有旧端点,转而使用新版本的 API。 REST API 中永远不会出现任何其他类型的向后不兼容的更改。

  • 如果mongosync仍然支持支持该功能的 MongoDB Server 版本,则删除对以前支持的 MongoDB Server 功能的支持。

  • 如果mongosync已支持某个主要版本的 MongoDB Server,则需要新的权限才能继续支持该版本的 MongoDB Server。

  • 添加对以前不兼容的 MongoDB Server 版本的支持。

  • 对于以前不受支持的 MongoDB Server 主要版本,需要新的权限。

  • 添加对以前不支持的collection类型的支持。

  • 添加对以前不支持的索引类型的支持。

  • 在 REST API 中添加新端点、新字段或新接受的输入。

  • 添加新记录的 CLI 选项。

  • 添加新的配置键或接受的值。

  • 向后兼容的错误修复。

  • 性能回归修复。

  • 性能改进。

  • 帮助文本字符串的更改。

  • 对日志文本字符串的更改。

  • 对 API 响应中的信息文本进行更改,但不对“状态”等枚举样式的字符串字段进行更改。

  • 错别字修复。