[ 
https://issues.apache.org/jira/browse/HIVE-29216?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Cameron Moberg updated HIVE-29216:
----------------------------------
    Summary: DirectSQL disables strict checking in MySQL, allowing undroppable 
partitions  (was: DirectSQL disables strict checking in MySQL, allowing 
corrupted partition data)

> DirectSQL disables strict checking in MySQL, allowing undroppable partitions
> ----------------------------------------------------------------------------
>
>                 Key: HIVE-29216
>                 URL: https://issues.apache.org/jira/browse/HIVE-29216
>             Project: Hive
>          Issue Type: Bug
>          Components: Standalone Metastore
>    Affects Versions: 3.1.3, 4.1.0
>         Environment: This happened on Hive 3.1.3 and Spark 3.5.3, however, I 
> do not see any additional logic checks in master branch that would stop this 
> from happening.
>            Reporter: Cameron Moberg
>            Priority: Minor
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> [https://github.com/apache/hive/blob/77d0d8d92c3257fb056337e5757f0f9bd8c34f02/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/DatabaseProduct.java#L314]
>  
> When `SET @@session.sql_mode=ANSI_QUOTES` is written, it clears all other 
> MySQL defaults, namely `STRICT_TRANS_TABLES`.
>  
> When inserting a partition with a value > 256 characters, it is successfully 
> inserted when it should be rejected in MySQL. This leads to a scenario where 
> you can insert a partition, the `PARTITIONS` table has a `PART_NAME` with > 
> 256 chars, but the `PART_KEY_VALS` is silently truncated to 256 chars.
>  
> So when you attempt to drop a table/cleanup partitions, it will never 
> succeed, as the partition returned to the client is the truncated one, which 
> then 404s on attempted deletion (correctly).
>  
> Ideally there is a validation check on partition values to ensure that it 
> will insert into the DB, or we don't clear the default session mode (unless 
> required)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to