gianm commented on code in PR #16533:
URL: https://github.com/apache/druid/pull/16533#discussion_r1710268469
##########
processing/src/main/java/org/apache/druid/segment/RowBasedCursor.java:
##########
@@ -140,4 +148,12 @@ private void advanceToMatchingRow()
rowId++;
}
}
+
+ private void advanceToMatchingMarkRow()
+ {
+ while (!isDone() && rowId < markId) {
Review Comment:
This should be checking `valueMatcher` somehow, right? I think as written,
it will advance `markId` number of rows on the underlying `rowWalker`, without
regard for which ones match the provided filter. Is that ok?
Additionally, this logic creates a requirement that `rowWalker` be
immutable. I don't think that'll always be true. For example, we use this
cursor on top of external data, where re-walking the walker means re-fetching a
file. The file could have changed. We also use it on top of lookups, where
re-walking could get a different set of keys. I am not sure how really to do
sensible marking on data streams like this.
--
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]