nastra commented on code in PR #13400:
URL: https://github.com/apache/iceberg/pull/13400#discussion_r2538813171


##########
core/src/test/java/org/apache/iceberg/rest/TestRESTCatalog.java:
##########
@@ -247,6 +273,57 @@ public static <T> T roundTripSerialize(T payload, String 
description) {
     return null;
   }
 
+  /** Configurable planning behavior for tests. Replaces magic table 
name-based behavior routing. */
+  static class TestPlanningBehavior implements 
RESTCatalogAdapter.PlanningBehavior {
+    private boolean asyncPlanning;
+    private int tasksPerPage;
+
+    static Builder builder() {
+      return new Builder();
+    }
+
+    @Override
+    public boolean shouldPlanTableScanAsync(TableScan tableScan) {
+      return asyncPlanning;
+    }
+
+    @Override
+    public int numberFileScanTasksPerPlanTask() {
+      return tasksPerPage;
+    }
+
+    static class Builder {
+      private TestPlanningBehavior behavior = new TestPlanningBehavior();
+
+      Builder asyncPlanning(boolean async) {
+        behavior.asyncPlanning = async;
+        return this;
+      }
+
+      Builder tasksPerPage(int tasks) {
+        behavior.tasksPerPage = tasks;
+        return this;
+      }
+
+      // Convenience methods for common test scenarios
+      Builder synchronousWithAllTasks() {
+        return asyncPlanning(false).tasksPerPage(1000);
+      }
+
+      Builder synchronousWithPagination() {
+        return asyncPlanning(false).tasksPerPage(1);
+      }
+
+      Builder asynchronous() {
+        return asyncPlanning(true).tasksPerPage(100);

Review Comment:
   why is this one set to 100 and the other to 1000? Should they both be 
aligned?



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