phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Samarth Jain (JIRA)" <>
Subject [jira] [Commented] (PHOENIX-3953) Clear INDEX_DISABLED_TIMESTAMP and disable index on compaction
Date Fri, 25 Aug 2017 07:06:00 GMT


Samarth Jain commented on PHOENIX-3953:

Thanks for the patch, [~jamestaylor]. I have a couple of comments:

- With this patch, we are setting the index_disable_timestamp to 0 when the the major compaction
is running for the *index* table. I think we would need to do the same when major compaction
is running on the data table too. I am not too sure what would happen if major compaction
runs on a disabled index. It may or may not be ok. But definitely, major compaction running
on a data table when a global mutable index on it is disabled is not good.

- I am not too sure if adding this logic to stats collection is the best choice. In fact,
I was planning on filing a JIRA where we can have a config which controls whether we should
be collecting stats for tables via major compaction. I think it would make sense to just refactor
this logic in its own method and call it in the preCompactHook of UngroupedAggregateRegionObserver.

> 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
> 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