diff --git a/src/palimpzest/query/execution/nosentinel_execution.py b/src/palimpzest/query/execution/nosentinel_execution.py index 8b071461..fea4bb91 100644 --- a/src/palimpzest/query/execution/nosentinel_execution.py +++ b/src/palimpzest/query/execution/nosentinel_execution.py @@ -421,6 +421,10 @@ def execute_plan(self, plan: PhysicalPlan, num_samples: int | float = float("inf still_processing = any([len(queue) > 0 for queue in processing_queues.values()]) finished_executing = not keep_scanning_source_records and not still_processing + # update finished_executing based on limit + if isinstance(operator, LimitScanOp): + finished_executing = len(output_records) == operator.limit + # if caching was allowed, close the cache if not self.nocache: for operator in plan.operators: