Documentation Home
MySQL 路由器发行说明  / 版本 8.0 中的更改  /  MySQL Router 8.0.29 的变化(2022-04-26,全面上市)

MySQL Router 8.0.29 的变化(2022-04-26,全面上市)

添加或更改的功能

  • 添加了一个新的unknown_config_option配置选项,用于定义路由器在遇到未知配置选项(例如拼写错误)时的行为。如果未设置,行为默认为“警告”,并且引导在生成的配置行为中将其设置为“错误”。以前,路由器会忽略未知的配置选项。(缺陷号 32207191)

  • 添加了连接池功能以重用服务器端连接。这会 为新配置部分添加新的max_idle_server_connections(默认为 0 秒;因此被禁用)和idle_timeout (默认为 5 秒)路由器配置选项 。[connection_pool]设置 [rest_connection_pool]以启用其 REST API 功能。

  • connect_timeout将默认值 更改为5秒。以前它默认 15[DEFAULT] 部分和1[ routing]部分。

  • 将隔离机制扩展到第一个可用和下一个可用的静态目标路由策略,而以前它仅适用于静态循环和动态元数据缓存策略。以前先可用会检查连接,但现在会跳过无法到达(隔离)的目的地。下一个可用的策略行为没有改变以保持向后兼容性。

    这会添加一个 unreachable_destination_refresh_interval 默认为 1(秒)的新配置选项。这决定了每个无法到达的候选目的地被探测可用性的频率。

修正错误

  • 当新节点添加到集群时,路由器会不必要地删除并重新创建现有连接,这可能会阻塞 GR 通知线程。(缺陷号 33874978)

  • 关闭 SSL 连接现在会取消服务器端套接字上的所有事件,而不是被动地等待它关闭。(缺陷号 33830212)

  • 如果系统仍然使用旧的元数据 1.x(元数据 2.0 在 v8.0.19 中引入),则元数据升级过程(通过 MySQL Shell 的 dba.upgradeMetadata())无法识别 Router 何时升级;这使升级过程停滞不前。现在 Router 在引导期间为所有元数据版本设置元数据中的 Router 版本,如果由于缺少 Router 用户的权限而失败,它会继续重试更新版本,而之前它只尝试过一次。(缺陷号 33825480)

  • 在 Windows MSI 构建中,将缺少的 INFO_BININFO_SRC 文件添加到share/doc/mysqlrouter 目录中。(缺陷号 33822549)

    参考资料:另请参阅:Bug #33510726。

  • 在 boostrapping 时,metadata_cache 和路由部分的默认部分名称键从集群名称更改为“bootstrap”,以帮助防止潜在的无效字符冲突。(缺陷号 33673803)

  • 通过删除 [[maybe_used]] 标签并确保记录所有参数改进了 Doxygen 支持。(缺陷号 33596116)

  • 当连接器随后尝试使用此套接字容器时,当路由插件关闭并清理套接字容器时,会发生潜在的竞争条件。现在计算尚未移动到路由插件容器的连接,并且在处理这些连接之前路由插件无法关闭。(缺陷号 33593833)

  • 将 metadata_cache 拆分为 metadata_cache(库)和 metadata_cache_plugin(插件)。(缺陷号 33574698)

  • 通过添加转换类(StringOption、UintOption、DoubleOption 和 MilliSecondsOption)重构 BasePluginConfig,并将插件配置转换为 get_option()。(错误#33570004,错误#33584470)

  • 路由器现在使用元数据来查找主节点,而不是依赖节点列表查询返回的节点顺序。在它连接到第一个节点之前,即使需要主节点,如果节点不是主节点,这也会浪费时间并产生不必要的错误。(漏洞#33551163)