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

Alan Gates updated HIVE-8368:
-----------------------------
    Attachment: HIVE-8368.patch

This patch adds a new isDelete method to AcidInputFormat.RawReader.  The 
compactor then calls isDelete when getting records from RawReader and then 
throws them out if it is doing a major compaction.

A note on adding isDelete.  I think it would be better to change RawReader.next 
to not return deleted records when the option compact is set to true.  Two 
things prevented me from doing this.  One, while I think no one ever needs 
deletes in the compact case I might be wrong.  Two, the loop that does the 
merge and returns the next record in RawReader.next is complicated code, and 
changing it looked very error prone.

> compactor is improperly writing delete records in base file
> -----------------------------------------------------------
>
>                 Key: HIVE-8368
>                 URL: https://issues.apache.org/jira/browse/HIVE-8368
>             Project: Hive
>          Issue Type: Bug
>          Components: Transactions
>    Affects Versions: 0.14.0
>            Reporter: Alan Gates
>            Assignee: Alan Gates
>            Priority: Critical
>             Fix For: 0.14.0
>
>         Attachments: HIVE-8368.patch
>
>
> When the compactor reads records from the base and deltas, it is not properly 
> dropping delete records.  This leads to oversized base files, and possibly to 
> wrong query results.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to