laserninja commented on code in PR #11635:
URL: https://github.com/apache/gravitino/pull/11635#discussion_r3592964776
##########
iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/iceberg/service/dispatcher/IcebergTableOperationExecutor.java:
##########
@@ -227,6 +229,32 @@ public PlanTableScanResponse planTableScan(
.planTableScan(tableIdentifier, scanRequest);
}
+ @Override
+ public FetchPlanningResultResponse fetchPlanningResult(
+ IcebergRequestContext context, TableIdentifier tableIdentifier, String
planId) {
+ // Validate the table exists first (consistent with planTableScan behavior)
+ icebergCatalogWrapperManager
+ .getCatalogWrapper(context.catalogName())
+ .getCatalog()
+ .loadTable(tableIdentifier);
+ throw new NoSuchPlanIdException(
+ "Plan %s not found for table %s. Synchronous planning does not retain
plan IDs.",
+ planId, tableIdentifier);
+ }
+
+ @Override
+ public void cancelPlanning(
+ IcebergRequestContext context, TableIdentifier tableIdentifier, String
planId) {
+ // Validate the table exists first (consistent with planTableScan behavior)
+ icebergCatalogWrapperManager
Review Comment:
This is the leaf implementation of the dispatcher interface and the only
layer that can validate the table exists, so it needs to be implemented here.
See the reply on `fetchPlanningResult` for the full reasoning.
--
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]