nastra commented on code in PR #14480:
URL: https://github.com/apache/iceberg/pull/14480#discussion_r2493696342
##########
core/src/test/java/org/apache/iceberg/rest/RESTCatalogAdapter.java:
##########
@@ -429,6 +562,68 @@ public <T extends RESTResponse> T handleRequest(
return null;
}
+ /**
+ * Do all the planning upfront but batch the file scan tasks across plan
tasks. Plan Tasks have a
+ * key like <plan ID - table UUID - plan task sequence> The current
implementation simply uses
+ * plan tasks as a pagination mechanism to control response sizes.
+ *
+ * @param tableScan
+ * @param planId
+ */
+ private void planFilesFor(TableScan tableScan, String planId) {
Review Comment:
I was thinking that we create a Singleton class that holds all the
server-side planning state. For each request we would pass stuff to a method in
`CatalogHandlers`, which would then do whatever needs to be done and return the
response object. That way the adapter really just passes stuff to
`CatalogHandlers`, which does the server-side reference implementation.
For example, for planning a table scan we'd have something like `public
static PlanTableScanResponse planTableScan(Catalog catalog, TableIdentifier
identifier, PlanTableScanRequest request)` defined in `CatalogHandlers`
--
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]