shyjsarah commented on code in PR #760:
URL: https://github.com/apache/paimon-rust/pull/760#discussion_r3893068274
##########
crates/integrations/datafusion/src/lateral_vector_search.rs:
##########
@@ -352,9 +450,54 @@ struct LateralVectorSearchExec {
query_vector_expr: Arc<dyn PhysicalExpr>,
limit: usize,
output_schema: ArrowSchemaRef,
+ filter: Option<Predicate>,
+ prepared_filter_cache: Arc<ExecutionPreparedFilterCache>,
plan_properties: Arc<PlanProperties>,
}
+#[derive(Debug)]
+struct ExecutionPreparedFilterEntry {
+ context: Weak<TaskContext>,
+ prepared_filter: Arc<OnceCell<PreparedVectorSearchFilter>>,
Review Comment:
Fixed in f0e2b08. Each partition stream now owns a completion lease for the
execution-scoped prepared filter. Sequential/concurrent partitions continue
sharing the same OnceCell, and dropping the final lease for every partition
removes that exact cache entry immediately, even if the TaskContext and
reusable physical plan remain alive. The lease is also released on stream
cancellation/error. Added tests for immediate release, exact-entry eviction
across concurrent executions, and cloned in-flight leases; the
sequential-partition snapshot regression remains covered.
--
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]