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]

Reply via email to