phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James Taylor (JIRA)" <>
Subject [jira] [Commented] (PHOENIX-3953) Clear INDEX_DISABLED_TIMESTAMP and disable index on compaction
Date Tue, 05 Sep 2017 17:45:00 GMT


James Taylor commented on PHOENIX-3953:

bq. Does this mean we're writing to another table (to a region most likely located on a different
server) from inside the compaction hooks? That sounds scary. Does it fail gracefully, i.e.
letting the compaction finish?
Yes, we need to do this as otherwise the index cannot potentially no longer be rebuilt correctly.
Having an index out of sync with the data table without knowing it is pretty scary too. We
do let the compaction finish under failure, but it might be better to abort the compaction
and let it run next time to prevent the index/data table potentially getting of sync.

> Clear INDEX_DISABLED_TIMESTAMP and disable index on compaction
> --------------------------------------------------------------
>                 Key: PHOENIX-3953
>                 URL:
>             Project: Phoenix
>          Issue Type: Bug
>            Reporter: James Taylor
>            Assignee: James Taylor
>              Labels: globalMutableSecondaryIndex
>             Fix For: 4.12.0
>         Attachments: PHOENIX-3953.patch, PHOENIX-3953_v2.patch
> To guard against a compaction occurring (which would potentially clear delete markers
and puts that the partial index rebuild process counts on to properly catch up an index with
the data table), we should clear the INDEX_DISABLED_TIMESTAMP and mark the index as disabled.
This could be done in the post compaction coprocessor hook. At this point, a manual rebuild
of the index would be required.

This message was sent by Atlassian JIRA

View raw message