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]

Reply via email to