zoobst opened a new issue, #959:
URL: https://github.com/apache/iceberg-go/issues/959
### Feature Request / Improvement
**Problem.** When `Catalog.LoadTable` is called against a table whose
metadata is on S3 but the caller hasn't imported `io/gocloud` for its
side effect, the error is:
```
io scheme not registered for path s3://my-bucket/path/to/metadata.json
(scheme: s3)
```
This requires the operator to know that iceberg-go's IO is registered
via side-effect imports of `io/gocloud` (or `io/local`, etc.). The
import line isn't in the obvious place — it's not in the catalog's
imports, not in the table's imports, but in a separate IO module the
caller probably hasn't read.
**Evidence.** This was a 30-minute debugging detour for our team.
Searching for the error string surfaced the import requirement, but
it's the kind of thing where the error message could just include the
hint.
**Proposed change.** When the scheme is one of the known ones with an
optional registration module, append a hint to the error:
```
io scheme not registered for path s3://...
hint: import the matching IO module for side-effect registration:
_ "github.com/apache/iceberg-go/io/gocloud" // for s3/gcs/azblob/file
_ "github.com/apache/iceberg-go/io/local" // for file-only
```
**Backwards compatibility.** Error message text change. No API surface
modified.
--
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]