Search before asking
Paimon version
master @ fb3484d
Compute Engine
Engine-agnostic (core)
Minimal reproduce step
HadoopCompliantFileIO.getFileSystem() (paimon-filesystems/paimon-obs-impl/src/main/java/org/apache/paimon/obs/HadoopCompliantFileIO.java line 109) caches a single FileSystem fs for the first authority (bucket) it sees and returns it for every subsequent path. When one OBSFileIO instance serves paths across multiple OBS buckets on the default (non-resolving) FileIO path, all requests are routed to the first bucket's FileSystem.
What doesn't meet your expectations?
Expected: each authority (bucket) gets its own cached FileSystem. Actual: the first bucket's FileSystem is reused for all authorities.
Anything else?
The sibling implementations already cache per authority in a Map<String, FileSystem> keyed by path.toUri().getAuthority() (null → "DEFAULT"): see paimon-oss-impl (#2417), paimon-s3-impl (#2504), and paimon-gs-impl. OBS was never updated to match.
Are you willing to submit a PR?
Search before asking
Paimon version
master @ fb3484d
Compute Engine
Engine-agnostic (core)
Minimal reproduce step
HadoopCompliantFileIO.getFileSystem()(paimon-filesystems/paimon-obs-impl/src/main/java/org/apache/paimon/obs/HadoopCompliantFileIO.java line 109) caches a singleFileSystem fsfor the first authority (bucket) it sees and returns it for every subsequent path. When oneOBSFileIOinstance serves paths across multiple OBS buckets on the default (non-resolving) FileIO path, all requests are routed to the first bucket's FileSystem.What doesn't meet your expectations?
Expected: each authority (bucket) gets its own cached
FileSystem. Actual: the first bucket'sFileSystemis reused for all authorities.Anything else?
The sibling implementations already cache per authority in a
Map<String, FileSystem>keyed bypath.toUri().getAuthority()(null →"DEFAULT"): see paimon-oss-impl (#2417), paimon-s3-impl (#2504), and paimon-gs-impl. OBS was never updated to match.Are you willing to submit a PR?