englefly commented on PR #67549:
URL: https://github.com/apache/doris/pull/67549#issuecomment-6145283661
复验第二轮(本分支代码,`fa1d7ddc566` 之后的改动):
**又补了两个洞**
1. **`select count(*) from t` 走的是
`PhysicalStorageLayerAggregate`**(存储层聚合,无孩子的 catalog
relation),原先完全不受支持——而这是最常见的查询形状。现在它的身份是 `A{sl,op=<AggregateOp>}` + 它读取的关系的 scan
token;参数表达式以 expr id 引用、跨查询不稳定,所以不进身份(也不影响它产出的行数)。实测:`select count(*) from
hbo_test.hbo_sg_t1` 的两个 aggregation 都拿到 `type=exact`。
2. **可重试失败的原因可见化**:以前 EXPLAIN 分不清"这个形状本来就不支持"和"这次查表失败、下次会重试";现在会打印
`retryable=<cause>`。
**已验证的部分(本分支代码)**
- ✅ `Generate` 确实进入上层 join 的身份:`[75] join type=exact` 的 canonical 里出现
`G{tf:[Explode(lit(%5B1%2C 2%2C 3%5D:ARRAY<TINYINT>))]}`(参数里的字面量被百分号转义保留,不会被
`lit(*)` 折叠)。
- ✅ **归一化逐字节对比**(把数据状态 `v*/r*/p*/n` 归一后比对全部参考查询的注解集合):**0 条错误行**,**原有 join 的
`no_literal` 指纹逐字节未变**(向后兼容,旧注入条目继续命中),唯一的差异是新增的 `with_literal` join 条目(8
行)——正是"J/A key 常量敏感"这一改动的预期结果。
- ✅ `count(*)` / `limit` / `repeat` / `union all` / `except` 的上层 aggregation
均有指纹。
**仍待解决**
- `order by … limit` 的 join 只有 `join_expansion` 行,且**原因仍为空**:连 `retryable=`
都没打出来,说明这个节点的 group **根本没解析出来**(`resolveGroup` 返回 null),下一轮从"物理计划里 join 节点的
group 回引/`KEY_GROUP` 状态为何缺失"入手;
- `query_p0/hbo` 全量套件正在本分支代码上重跑(此前那次是旧 FE,结果作废)。
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]