首页 文章 精选 留言 我的

精选列表

搜索[路径追踪],共10000篇文章
优秀的个人博客,低调大师

Tailscale 花费六个月追踪一个 16 年的 SQLite 漏洞

去年年底,Tailscale 的 uptime开始变得不稳定。19 次独立的数据库损坏事件,横跨六个月——每次都是同一个 SQLite bug 在作祟。 Tailscale 控制平面内部用 SQLite 存储每个 tailnet 的配置元数据。每个 shard 由一个 Go 进程独占访问数据库,这是 SQLite 推荐的单写入者架构。他们从 2022 年就开始用这套方案,一直相安无事。 直到 2025 年 8 月,一个读取 S3 备份的数据管道报了错。运行PRAGMA integrity_check后发现数据库确实损坏了。修复了,查了原因,没找到。然后它又发生了。再来一次。再来一次。 “这个 bug 抵御了我们所有的初步排查。” Tailscale 团队检查了所有近来改动——没有相关的。重新审查了所有 SQLite 交互代码——没发现问题。损坏事件之间没有共同因素:不是同一个 shard,不是同一个客户,不是同一个功能,不是同一个时间段,不是同一个负载水平。 无法复现,只能靠被动遥测。有时几小时一次,有时几周一次。最长的一次平静期是六周——然后就又来了。 最终,Tailscale 资助了一个开源的 SQLite VFS shim 来隔离竞态条件。这个工具帮助他们定位到了 SQLite 中一个存在了 16 年的 WAL-reset 数据竞争 bug。更意外的是,在修复过程中还发现了第二个 bug:一个陈旧的表达式索引 bug。 Antithesis(一个确定性模拟测试平台)随后也发表了一篇博客,详细分析了这个 WAL-reset bug 的技术细节,包括如何在确定性环境下复现它。 HN 上的讨论集中在几个点上。有人赞赏 Tailscale 的透明度——“把这种事公开写出来需要勇气。” 有人对 SQLite 有 16 年的 bug 感到惊讶,但更多人指出这恰恰证明了 SQLite 的可靠性:如此罕见的竞态条件,在如此大规模部署下才暴露出来。还有人讨论了 Tailscale 资助开源调试工具的做法——“这是公司资助开源的绝佳范例。” 参考来源: Tailscale: How we tracked down a 16-year-old SQLite bug Antithesis: Breaking the WAL HN 讨论

优秀的个人博客,低调大师

TLog v1.4.0 发版注记,10 分钟即可追踪你的系统日志!

一 TLog v1.4.0正式发布!依赖包已上传至中央仓库,相关文档也作了更新! TLog已经有很长时间没更新了。因为之前段时间做各种事情,一直抽不开身(其实就是我懒)。这会疫情被封在家,忙里偷闲更新了一版。 新版本版本变成了1.4.0,为什么不在1.3.X继续更新了呢,因为对logback做了一些调整和更新,以前的配置不适用了。既然部分不兼容了,所以必须升中版本号了。不过在1.4.0中,只有logback的MDC部分的配置发生了变化,变的更加简单了。几秒钟皆可改成新的配置项。 此外新版本还对logstash进行了支持,感觉TLog近半年来就是在对各种框架作支持啊。如果你想支持的中间件不在目前支持列表中,请通过issue来告诉我。 二 TLog是一款日志工具,十分钟即可接入,支持众多的框架和主流RPC,你几乎不需要做什么,TLog能自动你的日志进行增强,让你的日志马上升级,微服务之间的日志变得可追溯! 如果你想了解更多,请点击以下地址进行了解。 项目官网: https://tlog.yomahub.com gitee托管仓库: https://gitee.com/dromara/TLog github托管仓库: https://github.com/dromara/TLog 三 此次的更新列表如下: feature: #I49PSX 对logstash进行支持 https://gitee.com/dromara/TLog/issues/I49PSX enhancement: #I55M5H logback日志中的mdc模式的优化 https://gitee.com/dromara/TLog/issues/I55M5H enhancement: #I55M5J 对log4j2的异步日志进行优化 https://gitee.com/dromara/TLog/issues/I55M5J 支持 为了开源项目的更好推广,如果你的项目中用了TLog框架并且还觉得不错的话,希望可以在以下地址登记你的公司。 https://gitee.com/dromara/TLog/issues/I3CM7A 当然你也可以选择请我喝杯咖啡:P,这会是对我以及我努力成果的最大肯定! https://tlog.yomahub.com/blog/donation

优秀的个人博客,低调大师

数据分类分级怎么落地-从标准到执行的五步路径

数据分类分级怎么落地?把它拆成五步:定标准、建模板、自动识别、人工稽核、衔接保护措施。五步是有顺序的:标准不写清,模板就没法建;模板没建好,识别结果只是一堆标签;没有人工确权,清单担不了责任;不接到保护措施上,成果就停在纸面。五步走完的机构,检查时能拿出完整链条;只走前四步的机构,通常只能拿出一份说不清用途的清单。

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册