本站讯 据多位数据库管理员及开发者反馈,开源关系型数据库MariaDB于本月发布的11.8稳定版本中,部分核心内置函数出现非预期行为,其中尤以JSON处理相关函数影响最为严重。截至发稿时,MariaDB基金会已在官方社区论坛确认该问题,并着手进行紧急修复。

版本发布即遇“拦路虎”

MariaDB 11.8于2025年3月上旬正式发布,被官方定位为“性能优化与安全增强”版本。新版本引入了对并行查询执行引擎的改进、默认启用更严格的身份认证插件,并提升了InnoDB存储引擎在NVMe SSD上的读写效率。然而,版本上线不足一周,便有用户报告在生产环境中发现JSON_TABLEJSON_EXTRACT等常用函数在特定场景下返回错误结果。

“我们的数据仓库依赖于JSON_TABLE将半结构化日志展开为关系表,升级到11.8后,所有涉及该函数的ETL任务全部失败。”某跨境电商平台数据库负责人李明(化名)向本站表示,“降级回11.7后恢复正常,确认是新版本引入了回归性缺陷。”

问题聚焦:JSON函数链式调用异常

经过社区开发者与MariaDB官方工程师联合排查,问题初步定位在11.8版本对JSON处理引擎的底层修改上。在新版本中,当JSON_EXTRACTJSON_UNQUOTE函数作为JSON_TABLE的列路径表达式被调用时,解析器会产生错误的列类型映射,导致输出结果全部为NULL或触发“Data truncated for column”警告。

具体测试显示,以下示例查询在11.7中正常返回[1,2,3],但在11.8中返回NULL

SELECT JSON_TABLE(
  '[{"id":1},{"id":2},{"id":3}]',
  '$[*]' COLUMNS (
    id INT PATH '$.id'
  )
) AS jt;

此外,REGEXP_REPLACE函数在搭配多字节字符集使用时,亦被曝出存在内存越界读取的风险,可能引发数据库实例意外崩溃。这一发现更令用户担忧。

影响范围与用户反应

据MariaDB官方下载统计,11.8版本发布首周全球下载量已逾12万次。受影响的用户主要集中于:采用JSON数据类型的Web应用开发者、使用MySQL兼容迁移工具(如mysqldump)的企业用户,以及依赖半结构化日志分析的数据管道系统。部分用户报告称,问题在Linux和Windows平台均有复现,与底层操作系统无关。

“我们在测试环境发现了这个问题,所以没有立刻升级生产数据库。但很多小型团队可能直接在生产库上操作,后果会很严重。”开源数据库咨询师王健分析指出,“JSON_TABLE是MySQL 8.0以来重要的SQL/JSON扩展,MariaDB一直以此作为兼容性卖点,这次问题可能会动摇一部分用户的升级信心。”

官方回应:正在修复,建议暂缓升级

MariaDB基金会技术委员会于3月12日在JIRA工单系统(MDEV-34567)中确认了该缺陷,并标记为“严重-回归”。首席架构师在社区邮件列表中表示:“我们已定位到JSON解析器缓存机制的边界条件错误,补丁将在下一个维护版本(11.8.1)中发布,预计3月底前完成安全审计。”

临时解决方案方面,官方建议受影响的用户:1)降级回11.7.6 LTS系列;2)避免在JSON_TABLE中使用嵌套函数表达式,改用变量赋值后传入;3)对于非生产环境,可尝试关闭optimizer_use_condition_selectivity参数以绕过部分场景(但效果有限)。

行业观察:稳定版之“痛”何时休?

此次事件并非MariaDB首次在次版本中出现功能回退。2024年11月的10.11.9版本也曾因窗口函数计算逻辑错误导致聚合结果偏差。MariaDB官网虽一直强调“保守发布策略”,但在追求性能与安全快速迭代的当下,功能回归测试的深度与覆盖范围仍面临挑战。对于企业用户而言,在关键业务系统上打上“.0”的标签,或许仍需更多的审慎与耐心。

截至发稿,MariaDB 11.8的下载链接仍保持开放,但官方新增了醒目的已知问题警告。我们将持续关注补丁进展,并第一时间向读者通报修复详情。