github-actions[bot] commented on code in PR #69648:
URL: https://github.com/apache/doris/pull/69648#discussion_r4384675845
##########
be/src/storage/index/inverted/snii/snii_doris_adapter.cpp:
##########
@@ -249,10 +273,29 @@ Status DorisSniiFileReader::read_batch(const
std::vector<::doris::snii::io::Rang
// Run the planned physical reads, concurrently when a pool is available.
auto run_segment = [&](size_t s) {
+ const bool timed = segs[s].len <= kInlineMaxBatchBytes;
Review Comment:
[P2] Keep remote timings out of the local-read latency estimate
`timed` only checks length, so successful direct-remote and cached-remote
segments also update `g_small_read_ns`, although `_local_fs` restricts use of
that estimate to local files. This occurs with tiered storage:
`Tablet::pick_cooldown_rowset()` supports local and remote rowsets in the same
tablet, and both reach this adapter. For example, one 1 ms remote read raises
an initially zero estimate to 125 us, making subsequent hot local batches with
2 to 4 segments fail the 20 us inline-admission check. Frequent remote reads
can keep them on the shared pool and erase the intended scheduling benefit even
while the local page cache stays hot. Restrict sampling to local files while
continuing to sample their pooled reads, and add a mixed remote/local test so
slow remote IO cannot disable the hot local path.
--
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]