Adesh Kumar Rao created HIVE-23358:
--------------------------------------

             Summary: MSCK repair should remove all zeroes from partition 
values before creating the partitions
                 Key: HIVE-23358
                 URL: https://issues.apache.org/jira/browse/HIVE-23358
             Project: Hive
          Issue Type: Bug
          Components: Standalone Metastore
    Affects Versions: 4.0.0
            Reporter: Adesh Kumar Rao
            Assignee: Adesh Kumar Rao


For the following scenario
1. Have partitioned data path as follows.
hdfs://mycluster/datapath/t1/year=2020/month=03/day=10
hdfs://mycluster/datapath/t1/year=2020/month=03/day=11
2. create external table t1 (key int, value string) partitioned by (Year int, 
Month int, Day int) stored as orc location hdfs://mycluster/datapath/t1'';
3. msck repair table t1;
4. show partitions t1; 
{noformat}
+----------------------------+
|         partition          |
+----------------------------+
| year=2020/month=03/day=10  |
| year=2020/month=03/day=11 |
+----------------------------+
{noformat}

5.show table extended like 't1' partition (Year=2020, Month=03, Day=11); 
will throw an error:
{noformat}
Error: Error while compiling statement: FAILED: SemanticException [Error 
10006]: Partition not found {year=2020, month=3, day=11} 
(state=42000,code=10006)
{noformat}

When the partition directory are created without the extra zeroes, this works 
fine.
{noformat}
hdfs://mycluster/datapath/t1/year=2020/month=3/day=10
hdfs://mycluster/datapath/t1/year=2020/month=3/day=11
{noformat}


This happens because while searching for partitions, hive strips the extra "0" 
in month key and then queries the metastore 
(partSpec="year=2020/month=3/day=10") which returns no rows.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to