添加了一个新的
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_BIN
和INFO_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)