LuciferYang opened a new pull request, #10240: URL: https://github.com/apache/paimon/pull/10240
### Purpose In a value-only partition layout the write validator rejected only null, empty, "." and "..", so a value such as "_x" or ".tmp" was written to a directory whose name starts with "_" or ".". The read path treats those directories as hidden and skips them, so the partition and all of its data silently disappeared from scans. This rejects a partition value whose rendered value-only path segment would be hidden, so the write fails fast instead of producing an unreadable partition. The only exempt value is the table's configured default partition name, because scans un-hide exactly that name (the built-in default `__DEFAULT_PARTITION__` itself starts with "_"). The configured name is threaded through the format-table writers, commit, partition-path resolver, registry validator, stats collector, scan, the HiveCatalog partition locations, and the Spark partition DDL paths (ADD / DROP / TRUNCATE / ANALYZE PARTITION and ADD PARTITION ... LOCATION), so a table whose `partition.default-name` is itself a hidden name can still write and manage its null partition rather than having that DDL rejected. Callers without a table context fall back to the well-known default name. Key-value layout is unchanged, since the component there is "pt=_x" and does not start with a hidden prefix. ### Tests New cases in `PartitionPathUtilsTest` pin: value-only "_x" and ".x" are rejected; the built-in default partition name and a configured custom default name stay writable while other hidden-leading values remain rejected; and a key-value "pt=_x" component stays visible. ### API and Format No. ### Documentation No. -- 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]
