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]

Reply via email to