LuciferYang opened a new issue, #10235: URL: https://github.com/apache/paimon/issues/10235
### Search before asking - [X] I searched in the [issues](https://github.com/apache/paimon/issues) and found nothing similar. ### Paimon version master ### Compute Engine Flink ### Minimal reproduce step When a table stores data on external paths with entropy injection and changelog pre-commit compaction is enabled, reading the compacted changelog fails with a file-not-found error. `ChangelogCompactTask` writes the compacted changelog real file and its fake entries into the same directory as the source changelog file, which under entropy injection is a hash directory such as `<ext>/.../bucket-0/1001/1001/1001/10011001/`. On read, `CompactedChangelogPathResolver.decodePath` rebuilds the real path as `<grandparent>/bucket-<bid>/<realName>`, so it points at `<ext>/.../bucket-0/1001/1001/1001/bucket-0/<realName>`, a directory that does not exist. ### What doesn't meet your expectations? The read of the compacted changelog should find the real file. The grandparent-plus-bucket rebuild is only correct for in-table layout, where the fake entry lives in its own `bucket-<bid2>` directory and the real file lives in `bucket-<bid1>`. For external paths the fake entry and the real file are siblings in the same directory, so the real path must be resolved next to the fake entry. ### Anything else? _No response_ ### 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]
