生产环境doris 3fe + 4be
大概半个月前从3.0.4升级到3.1.4
昨天有个发版需求,发版后线上发版的报表视图出现多次刷新数据返回不一致,以及视图的元数据不一致(字段缺失)
开发阶段,会在这个环境提前创建视图,验证查询性能,所以开发阶段会创建ads视图(基于dw。ods等物理表创建关联视图)
发布生产阶段,会重新执行create or replace view xxxx as select xxxx的逻辑。
这两个阶段的view sql,可能一样,也可能额外加一个字段
历史很多次都是这么操作的,没有出现过问题。
测试发现
- 接口返回偶发性报错 缺少ancestors字段(元数据不一致)
- 接口返回数据不稳定,反复刷新数据会变(数据不一致)
仔细分析发现是3个fe的元数据不一致,master节点数据和元数据正常,follower节点缺失,不正常
由于数据差距极大,感觉是可以排除follower同步元数据延迟导致的
查询实时数据和历史数据都误差极大,人数类指标可以差几倍

数据不一致,举例:比如master的人数返回1300,follower返回400,误差极大,甚至历史日期,查前几天的也是误差极大。
经过往下深入分析,发现问题出现在ads的视图层。最终把create or replace view xx
前面加一个drop view。先删除再创建解决。
但是不清楚这个bug是怎么来的,具体什么原因导致的