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

   ### Search before asking
   
   - [X] I searched in the [issues](https://github.com/apache/paimon/issues) 
and found nothing similar.
   
   ### Paimon version
   
   master
   
   ### Compute Engine
   
   Spark / Flink (format table)
   
   ### Minimal reproduce step
   
   In a value-only partition layout 
(`formatTablePartitionOnlyValueInPath=true`) the write validator in 
`PartitionPathUtils.validatePartitionValueForPath` rejects only null, empty, 
"." and "..". A partition value such as `_x` or `.tmp` is therefore written to 
a directory whose name starts with "_" or ".".
   
   1. Create a format table with value-only partition layout, partitioned by a 
string column pt.
   2. Write a row with pt = "_x".
   3. Scan the table.
   
   ### What doesn't meet your expectations?
   
   The read path treats any value-only directory whose name starts with "_" or 
"." as a hidden staging or metadata directory 
(`PartitionPathUtils.isHiddenFile` / `isHiddenName`) and skips it, exempting 
only the table's configured default partition name. The write and read sides 
disagree, so the `_x` partition and all of its data silently disappear from 
every scan, with no error at write or read time.
   
   Expected: a value that cannot be represented as a visible value-only 
directory is rejected at write time, so the failure is loud instead of silent. 
The configured default partition name stays allowed because scans un-hide 
exactly that name.
   
   ### 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]

Reply via email to