LuciferYang commented on issue #67994:
URL: https://github.com/apache/doris/issues/67994#issuecomment-5675855207
One more piece of evidence, which I should have found before filing: the
hazard is already known and worked around at another call site.
`segment_zone_maps_can_answer_agg` walks every column and requests a reader
without a constant, and it skips exactly one ordinal for exactly this reason
(`be/src/storage/segment/segment.cpp:148-160`):
```cpp
// The commit-tso column is only served correctly once its reader is
created with the
// rowset's commit_tso as a const value. Creating it here without
one would cache a reader
// that hands every later read the on-disk placeholder instead.
if (static_cast<int32_t>(ordinal) == schema.commit_tso_ordinal()) {
continue;
}
```
So "a bare request for that column poisons the cache for every later read"
is not my inference; it is the documented reason a loop three functions above
the zone-map builders avoids the column. The two expression zone-map builders
make the same bare request and do not skip it.
That also means the fix at the cache level makes this call site's skip
unnecessary rather than wrong, so I will leave it alone in the cache PR and let
#67995 decide what those loops should do with placeholder columns.
--
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]