daviddallakyan2005 commented on issue #1690:
URL: https://github.com/apache/iceberg-rust/issues/1690#issuecomment-5307145618

   @huan233usc @blackmwk — checking in on REST scan-planning.
   
   Go already has the client (`catalog/rest/scan_planning.go`, including 
WaitForPlan). @blackmwk called this a missing feature here. @huan233usc you 
offered a draft in June; #2656 did that work and was closed by the stale bot 
(no review, not a design objection). Endpoint advertisement parsing from that 
effort already landed in #2692.
   
   I'd like to pick this up as four small PRs so none trip the 300–500 line / 
30-day stale window. Porting Go, not inventing a new protocol:
   
   1. **Types + named endpoints** — constants for plan / fetch-result / cancel 
/ fetch-tasks, capability helpers (`supports_plan_table_scan` vs 
`supports_full_remote_scan_planning`), wire DTOs + serde tests. Config 
`endpoints` parsing is already on main.
   2. **Submit + fetch** — `PlanTableScan` / `FetchPlanningResult` / 
`FetchScanTasks` / `CancelPlanning` on the REST client, 404 split by 
`error.type`, Idempotency-Key on POSTs. Mockito tests. No `TableScan` wiring.
   3. **WaitForPlan** — jittered poller, retry the Java GET statuses, 
best-effort cancel on drop. Fake server in the style of Go `planfake`.
   4. **Wire `TableScan::plan_files`** — optional remote path with local 
fallback. Keep `Catalog` untouched. Do not auto-route until task decoding works 
(Go currently keeps `SupportsRemoteScanPlanning` false for the same reason). 
Stay out of DataFusion (#2671). Plan-scoped FileIO / vended creds wait on #2651 
/ #2932 rather than stacking.
   
   Each PR stays in `crates/catalog/rest` until slice 4. Tests: mockito in the 
rest crate; fixture e2e only once the client exists (kevinjqliu's note on 
iceberg-rest-fixture).
   
   @huan233usc are you still taking this? If so I'll stand down. If not, does 
this split look right to you @blackmwk?
   


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