[ 
https://issues.apache.org/jira/browse/PHOENIX-4530?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16427806#comment-16427806
 ] 

Vincent Poon commented on PHOENIX-4530:
---------------------------------------

This one was a little tricky for 5.x branch, since apparently if you do a put 
and delete, if there is no flush in between then it optimizes by not writing 
anything to disk.

Patch is now in 5.x and all 4.x branches

> Do not collect delete markers during major compaction of table with disabled 
> mutable indexes
> --------------------------------------------------------------------------------------------
>
>                 Key: PHOENIX-4530
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-4530
>             Project: Phoenix
>          Issue Type: Improvement
>    Affects Versions: 4.13.0
>         Environment:  
>            Reporter: James Taylor
>            Assignee: Vincent Poon
>            Priority: Major
>             Fix For: 4.14.0
>
>         Attachments: PHOENIX-4530.4.x-HBase-0.98.v2.patch, 
> PHOENIX-4530.4.x-HBase-1.1.v2.patch, PHOENIX-4530.5.x-HBase-2.0.v2.patch, 
> PHOENIX-4530.master.v1.patch, PHOENIX-4530.master.v2.patch
>
>
> If major compaction occurs on a table with mutable indexes that have the 
> INDEX_DISABLE_TIMESTAMP set, we currently permanently disable the index, 
> forcing it to be manually rebuilt from scratch. This is to prevent it from 
> potentially being corrupted as we need the delete markers to remain in order 
> to guarantee the data table and index table remain in sync.
> An alternate approach (mentioned by [~an...@apache.org] during review) is to 
> detect this case in a pre-compaction hook and set the compaction up so that 
> delete markers are not removed. This would have the advantage that we 
> wouldn't have to permanently disable the index and rebuild it from scratch.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to