Revanth14 opened a new pull request, #2260: URL: https://github.com/apache/iceberg-go/pull/2260
### Problem `iceberg files` reads the manifest list and manifests directly with the table's own credentials, so it ignores the catalog's `scan-planning-mode=server` directive that #2102 / #2162 enforce for scans. No CLI command can opt into REST scan planning either. ### Fix `files` lists a scan plan of the current snapshot when the catalog requires server-side planning, or when `--scan-planning-mode remote|auto` is given. Without either, it walks the manifests as before, and the output is unchanged. A scan plan carries no manifests, so the planned listing is flat: each data file with its delete files. Split tasks are collapsed per file. `--history` needs every snapshot's manifests, so it fails in planned mode, and so does `--scan-planning-mode local` on a `server` table. The other commands don't change. `compact` already plans through `Scan.PlanFiles`, so it follows the directive since #2162. The maintenance commands read metadata or write, so they stay local. `website/src/cli.md` documents this. ### Testing `files_test.go` drives `runFiles` with a fake remote planner: planned listing under the directive and both flags, the local tree for no/`client` directive and `local`, the rejected combinations, a table without a snapshot, and JSON output. In the server cases, opening the table's FileIO fails the test. With the directive check disabled, the `server directive` and `history under server directive` cases fail. ### Context Closes #2153. A `--scan-planning-mode` flag for `compact` is left out because `compaction.Analyze` takes no scan options. -- 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]
