singhpk234 commented on code in PR #13400:
URL: https://github.com/apache/iceberg/pull/13400#discussion_r2545908269
##########
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();
Review Comment:
> I don't think we need to set this per test in different ways
I thought about this more, i think we do need to test both async and sync
which itself are two behaviours one thing i can do is based on the tableScan
which is a parameter to decide shoud `async` may be i can write if else on the
number of task ? or files paths like if contains contains delete or something
like this, wdyt ?
presently i have exposed a setter and a test case creates a planning
behaviour and modifies the adapter to act according to the set behaviour
--
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]