phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James Taylor (JIRA)" <>
Subject [jira] [Commented] (PHOENIX-4530) Do not collect delete markers during major compaction of table with disabled mutable indexes
Date Sat, 10 Feb 2018 03:29:00 GMT


James Taylor commented on PHOENIX-4530:

Thanks for the quick turnaround, [~vincentpoon]. Here's some feedback:
- Prior to your patch, we disabled the index if it was major compacted or if its data table
was major compacted. Unless I'm missing something, it looks like you're not covering the first
- I think you'll need to adjust PartialIndexRebuilderIT.testCompactionDuringRebuild() based
on the new behavior.
- Not sure if it's frowned on to refer directly to HStore in your test, but FYI, there's also
TestUtil.doMajorCompaction() you can use.
- Minor nit: instead of using TestUtil.dumpTable() which will print out a bunch of stuff to
stdout, maybe better to have a new TestUtil.getRawRowCount() or something like that.

> Do not collect delete markers during major compaction of table with disabled mutable
> --------------------------------------------------------------------------------------------
>                 Key: PHOENIX-4530
>                 URL:
>             Project: Phoenix
>          Issue Type: Improvement
>         Environment:  
>            Reporter: James Taylor
>            Assignee: Vincent Poon
>            Priority: Major
>         Attachments: PHOENIX-4530.master.v1.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 [] 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

View raw message