thswlsqls opened a new issue, #9862:
URL: https://github.com/apache/paimon/issues/9862

   **Search before asking**
   - [x] I searched in the [issues](https://github.com/apache/paimon/issues) 
and found nothing similar.
   
   **Paimon version**
   master @ bbae07d37
   
   **Compute Engine**
   Engine-agnostic. Any catalog reading an object table on S3/OSS/OBS through 
the plugin loader jars (`PluginFileIO`), through the REST catalog 
(`ResolvingFileIO`), or with `local-cache.enabled` (`CachingFileIO`).
   
   **Minimal reproduce step**
   1. Create an object table on `s3://bucket/prefix` whose prefix has D 
sub-prefixes.
   2. Refresh it. `ObjectTableImpl` calls `fileIO.listFilesIterative(location, 
true)`.
   
   `HadoopCompliantFileIO.listFilesIterative` (paimon-s3-impl, oss-impl, 
obs-impl, jindo) overrides the method with one flat paginated listing. 
`PluginFileIO`, `ResolvingFileIO` and `CachingFileIO` do not forward it, so the 
`FileIO` interface default runs on the wrapper: D+1 `listStatus` calls, one per 
directory, each materialized in memory.
   
   **What doesn't meet your expectations?**
   The wrappers should forward `listFilesIterative` to the inner FileIO, as 
`RESTTokenFileIO` does since #9071 and as all four wrappers do for 
`tryToWriteAtomic` since #9034. Expected one flat listing per refresh.
   
   **Anything else?**
   The plugin path also sits beneath `RESTTokenFileIO`, so #9071's forward 
lands on a `PluginFileIO` that still runs the default.
   
   **Are you willing to submit a PR?**
   - [x] I'm willing to submit a PR!
   


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