You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2022/02/04 12:55:00 UTC

[jira] [Updated] (HIVE-25915) Query based MINOR compaction fails with NPE if the data is loaded into the ACID table

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

ASF GitHub Bot updated HIVE-25915:
----------------------------------
    Labels: pull-request-available  (was: )

> Query based MINOR compaction fails with NPE if the data is loaded into the ACID table
> -------------------------------------------------------------------------------------
>
>                 Key: HIVE-25915
>                 URL: https://issues.apache.org/jira/browse/HIVE-25915
>             Project: Hive
>          Issue Type: Bug
>          Components: Hive
>            Reporter: László Végh
>            Assignee: László Végh
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Steps to reproduce:
>  #  Create a table with import:
> {{CREATE TABLE temp_acid(id string, value string) CLUSTERED BY(id) INTO 10 BUCKETS STORED AS ORC TBLPROPERTIES('transactional'='true');}}
>  # {{insert into temp_acid values ('1','one'),('2','two'),('3','three'),('4','four'),('5','five'),('6','six'),('7','seven'),('8','eight'),('9','nine'),('10','ten'),('11','eleven'),('12','twelve'),('13','thirteen'),('14','fourteen'),('15','fifteen'),('16','sixteen'),('17','seventeen'),('18','eighteen'),('19','nineteen'),('20','twenty');}}
> {{export table temp_acid to '/tmp/temp_acid';}}
> {{{}i{}}}{{{}mport table imported from '/tmp/temp_acid';{}}}
>  # Do some inserts:
> {{insert into imported values ('21', 'value21'),('84', 'value84'),('66', 'value66'),('54', 'value54');
> insert into imported values ('22', 'value22'),('34', 'value34'),('35', 'value35');
> insert into imported values ('75', 'value75'),('99', 'value99');}}
>  # {{Run a minor compaction}}
> If the data is loaded or imported into the table they way it is described above, the rows in the ORC file don't contain the ACID metadata. The query-based MINOR compaction fails on this kind of table, because when the FileSinkOperator tries to read out the bucket metadata from the rows it will throw a NPE. But deleting and updating a table like this is possible. So somehow the bucketId can be calculated for rows like this.
> The non-query based MINOR compaction works fine on a table like this.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)