xiangfu0 commented on code in PR #19297:
URL: https://github.com/apache/pinot/pull/19297#discussion_r3849651065


##########
pinot-core/src/main/java/org/apache/pinot/core/operator/filter/ExactVectorScanFilterOperator.java:
##########
@@ -90,12 +94,21 @@ public ExactVectorScanFilterOperator(ForwardIndexReader<?> 
forwardIndexReader,
   public ExactVectorScanFilterOperator(ForwardIndexReader<?> 
forwardIndexReader,
       VectorSimilarityPredicate predicate, String column, int numDocs, 
@Nullable VectorIndexConfig vectorIndexConfig,
       String fallbackReason, VectorSearchParams searchParams) {
+    this(forwardIndexReader, predicate, column, numDocs, vectorIndexConfig, 
fallbackReason, searchParams, null);
+  }
+
+  /// Creates an exact scan restricted to a mandatory query-owned candidate 
scope.
+  public ExactVectorScanFilterOperator(ForwardIndexReader<?> 
forwardIndexReader,

Review Comment:
   Collapsed to a single constructor — the three convenience overloads are gone 
and the tests now pass every argument.
   
   On the second question: `FilterPlanNode` does call it (the no-index 
exact-scan path), it just was not visible in the diff because the old overload 
defaulted the trailing arguments. It now passes `null` for the candidate scope 
explicitly, so the call site shows the full signature.
   
   The scope parameter itself is unused in production *in this PR* by design: 
this is 1/5 of a stack splitting #19287. The scope is what lets an exact scan 
restrict itself to a document set, and #19300 (4/5) is where `FilterPlanNode` 
starts passing a real one — it is the fix for FULL-upsert vector queries, where 
obsolete row versions must not consume the per-segment top-K budget. It is here 
in 1/5 because the allowed-document scan logic and its tests belong with the 
`computeExactMatches` refactor. Happy to fold it into 4/5 instead if you would 
rather 1/5 carry no unused parameter.
   
   _🤖 Addressed by [Claude Code](https://claude.com/claude-code)_



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