Tailscale 揪出 SQLite 16 年旧 Bug,开源资助模式获赞
【导语去年年底Tailscale 的 uptime 变得不稳定19 次数据库损坏事件均由同一个 SQLite bug 导致。经过艰难排查Tailscale 不仅定位到存在 16 年的 WAL - reset 数据竞争 bug还发现了第二个陈旧的表达式索引 bug引发行业关注。】SQLite 故障频发排查陷入困境Tailscale 控制平面内部使用 SQLite 存储每个 tailnet 的配置元数据采用 SQLite 推荐的单写入者架构自 2022 年起一直运行正常。然而2025 年 8 月一个读取 S3 备份的数据管道报错运行 PRAGMA integrity_check 后发现数据库损坏。此后数据库损坏事件多次发生。Tailscale 团队对所有近来改动进行检查重新审查所有 SQLite 交互代码均未发现问题。而且损坏事件之间没有共同因素无法复现只能靠被动遥测故障出现的频率也毫无规律。资助开源工具揪出 16 年旧 Bug面对困境Tailscale 资助了一个开源的 SQLite VFS shim 来隔离竞态条件。借助这个工具他们定位到了 SQLite 中一个存在了 16 年的 WAL - reset 数据竞争 bug。更意外的是在修复过程中还发现了第二个 bug即一个陈旧的表达式索引 bug。Antithesis 随后发表博客详细分析了这个 WAL - reset bug 的技术细节包括如何在确定性环境下复现它。行业热议可靠性与开源资助模式HN 上的讨论集中在多个方面。有人赞赏 Tailscale 的透明度认为把这种事公开写出来需要勇气。有人对 SQLite 存在 16 年的 bug 感到惊讶但更多人指出这恰恰证明了 SQLite 的可靠性因为如此罕见的竞态条件是在大规模部署下才暴露出来的。还有人讨论了 Tailscale 资助开源调试工具的做法认为这是公司资助开源的绝佳范例。编辑观点Tailscale 成功揪出 SQLite 旧 Bug展现了其技术实力与开源精神。这一事件不仅凸显了 SQLite 的可靠性也为行业提供了开源资助的优秀范例有望推动数据库技术的进一步发展。

相关新闻

谷歌 Pixel Watch 5 与苹果 Watch Series 11 对比:399 美元该选谁?

谷歌 Pixel Watch 5 与苹果 Watch Series 11 对比:399 美元该选谁?

谷歌 Pixel Watch 5 与苹果 Watch Series 11 对比:399 美元该选谁?万万没想到,谷歌最新款智能手表登场,而且比以往更出色。谷歌 Pixel Watch 5 首次具备血压和胰岛素抵抗追踪功能,同时也能监测心率、睡眠和活动等常见指…

2026/9/26 13:15:10 阅读更多 →
一套键鼠控制多台电脑:开源 KVM 软件 input-leap 完整上手指南

一套键鼠控制多台电脑:开源 KVM 软件 input-leap 完整上手指南

一套键鼠控制多台电脑:开源 KVM 软件 input-leap 完整上手指南 【免费下载链接】input-leap Open-source KVM software 项目地址: https://gitcode.com/gh_mirrors/in/input-leap 深夜加班时,你是否也经历过这样的画面:右手刚离开台式…

2026/10/10 19:52:49 阅读更多 →
全面解析义乌市建设局网站功能指南及政务服务优化提升探索

全面解析义乌市建设局网站功能指南及政务服务优化提升探索

今天咱们不聊虚的,就聊聊那个看似高冷、实则与我们每个人生活息息相关,甚至可以说是咱们义乌老板和打工人的“后勤总管”——义乌市建设局网站。很多人听到“建设局”三个字,脑海里浮现的可能是满眼的灰尘、轰鸣的工地,或者是那些遥不可及的行政审批流程。但你要真这么想,…

2026/10/9 15:46:29 阅读更多 →

最新新闻

光储直柔:从刚性消费到柔性电网节点的建筑配电革命

光储直柔:从刚性消费到柔性电网节点的建筑配电革命

从“抽水马桶”变成“蓄水池”,这句话是我这两年和建筑业主聊配电改造时,最常用的一句类比。过去建筑用电是典型的刚性消费:光伏发多少、电网供多少,楼里就用多少,用不完的就浪费,不够了就向电网要&#xf…

2026/10/11 4:01:56 阅读更多 →
SAP MDG 功能范围说明(基于S/4HANA 2025)

SAP MDG 功能范围说明(基于S/4HANA 2025)

文章目录业务背景Master Data Governance (MDG)MDG, Central GovernanceMDG, ConsolidationMDG, Mass ProcessingMDG, Data quality managementMDG, Federated master data governanceMDG, Process analytics for master data主要功能业务背景 Master Data Governance (MDG) …

2026/10/11 4:01:55 阅读更多 →
Playwright自动化测试实战:从定位器到工程化落地

Playwright自动化测试实战:从定位器到工程化落地

1. 项目概述与整体设计思路1.1 为什么自动化测试在这个阶段值得重新选型我真正开始大规模把 Playwright 自动化测试用到业务项目里,差不多是在两年前。之前团队做 Web 端回归,用的还是老一套的 Selenium 体系,脚本写起来倒不难,真…

2026/10/11 4:01:55 阅读更多 →
Mac brew安装软件

Mac brew安装软件

安装brew /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"brew 基本命令 1.Homebrew常用命令bre…

2026/10/11 4:01:55 阅读更多 →
鸿蒙化适配yaml_modify:YAML定点修改与配置治理实践

鸿蒙化适配yaml_modify:YAML定点修改与配置治理实践

改 YAML 这件事,做过配置文件自动化的人应该都有体会:读起来容易,改起来全是坑。尤其当文件里有注释、有嵌套结构、有历史遗留的乱序 key 时,常规做法——用解析库读进来、改掉、再序列化写出去——往往会把整个文件重排一遍&…

2026/10/11 4:01:55 阅读更多 →
安装谷歌浏览器

安装谷歌浏览器

安装谷歌浏览器 在众多电脑软件中浏览器应该是每台电脑的必备软件,如何选择浏览器,选择哪一款浏览器对于好多电脑小白来说可能不是那么在意,但事实上有一款合适的浏览器是相当重要的。 曾经我看过一个人的电脑,着实让我有些发疯&a…

2026/10/11 4:00:55 阅读更多 →

日新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 10:38:42 阅读更多 →