ARTICLE · 1018930
一次升级把我的插件全废了:DSH 会话格式迁
一次升级把我的插件全废了:DSH 会话格式迁
一次升级把我的插件全废了:DSH 会话格式迁
9 月初 DSH 发了 v0.1.3-alpha.1,我顺手升级,结果一个读会话的插件直接废了。
启动没报错,日志也打印出数据了。可整理出来的记录全是空的。查了半天才发现,是存储格式升到 v2 后字段层级变了。按老路径取值拿到 undefined,被当成空数组。最耗人的就是这种不报错的失效。
这次有三类插件必受影响。依赖同步创建会话的拿不到对象;自己实现锁的会跟框架打架。最容易踩坑的是直接读日志的——能跑但不报错,等并发一多才出问题。
还有个隐蔽的性能坑:官方承认历史会话加载可能变慢。新会话一切正常,翻两周前的老会话才会卡。所以升级前一定要掐表测三样:打开老会话的时间、内存占用、内容恢复情况。
后来我把插件改成走框架公开的事件流,下次格式再变也不用跟着动。正式环境现在都锁死版本,实验性插件单独放一个 profile。升级前必做一件事:备份会话数据和凭据文件。格式迁移是单向的,旧版未必能读新版。
原文一次升级把我的插件全废了:DSH 会话格式迁移踩坑
陕西,13分钟前,