j1wonpark commented on issue #4237:
URL: https://github.com/apache/amoro/issues/4237#issuecomment-4585184927

   Thanks for the report! The root cause checks out — for object-store FileIOs 
the single-arg `checkArgument(boolean)` in `asFileSystemIO()` does throw 
`IllegalArgumentException: null`.
   
   **question:** I can't quite square the "reproduces 100%" claim with the 
`io.exists()` guard right before the throwing line:
   
   ```java
   if (!io.exists(directoryPath)) return;   // TableFileUtil:90
   ... io.asFileSystemIO() ...              // :95 — throws
   ```
   
   For `S3FileIO`, `exists()` is a HEAD on the exact key, and `directoryPath` 
is a slash-less prefix (`s3://.../data`) → 404 → `false` → returns at line 90, 
never reaching 95. Verified on our own S3FileIO-backed catalog: a HEAD on the 
slash-less prefix key returns 404, and I couldn't reproduce the failure there.
   
   Could you share:
   1. the exact `io-impl` + Iceberg version,
   2. which object storage you're on (AWS S3, Ceph RGW, MinIO, etc.), and
   3. whether a HEAD on the slash-less prefix key returns **200** in your env?
   
   Reaching line 95 seems to need `exists()==true` for that prefix, which looks 
storage/environment-specific rather than universal.
   


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

Reply via email to