pzhdfy commented on code in PR #68988:
URL: https://github.com/apache/doris/pull/68988#discussion_r4258231619


##########
fe/fe-core/src/main/java/org/apache/doris/datasource/paimon/source/PaimonScanNode.java:
##########
@@ -1156,6 +1266,13 @@ protected List<String> getDeleteFiles(TFileRangeDesc 
rangeDesc) {
 
     @Override
     public List<Split> getSplits(int numBackends) throws UserException {
+        // Primary-key vector (ANN) search is planned entirely by Paimon's
+        // BatchVectorSearchBuilder: one BucketVectorSearchSplit per 
(partition,
+        // bucket), serialized and carried to BE, which runs the whole search
+        // (recall + refine + row lookup + DV) in a single paimon-rust call.
+        if (isVectorSearch()) {
+            return getVectorSearchSplits();

Review Comment:
    Correct — getVectorSearchSplits plans its own splits and never consults the 
file-creation-time bound, so old files' nearest neighbors could leak into the 
result. Snapshot/tag/version selectors are fine: they are resolved into the 
table handle before the vector search, so the vector split inherits them 
naturally.
   ▎
   ▎ Fixed in 4790f5a: a scan carrying scan.file-creation-time-millis now 
declines the rewrite and runs through the ordinary path, which enforces the 
bound in the manifest pass. The vector/ordinary differential regression with 
relation OPTIONS is added to the ANN suite (both a keep-all bound and a 
far-future bound that must exclude every file).



-- 
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