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:
Same as below: 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]