[
https://issues.apache.org/jira/browse/PHOENIX-2966?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15316863#comment-15316863
]
James Taylor commented on PHOENIX-2966:
---------------------------------------
The simplest way to do this is to mimic what is done in PHOENIX-2950. There are
three parts to this:
- Determine when we're running locally. The simplest way is to check the
{{hbase.cluster.distributed}} config parameter. If false, we know we need to
use this new mechanism to start async index builds in a different way. We need
to make this check on the *server-side* as the client-side config will not have
this property.
- Start a scheduled thread which queries the SYSTEM.CATALOG table in the same
way as is done in PHOENIX-2950 to determine which indexes need to be built.
- Issue a {{ALTER INDEX <index name> ON <table name> REBUILD}} call on each
index that needs to be built.
The best place for this code to live would be MetaDataRegionObserver which is a
coprocessor that is only installed on the {{SYSTEM.CATALOG}} table. The
existing code in that class is already starting a scheduled task - perhaps this
functionality can be folded into the same runnable?
> Implement mechanism to build async indexes when running locally
> ---------------------------------------------------------------
>
> Key: PHOENIX-2966
> URL: https://issues.apache.org/jira/browse/PHOENIX-2966
> Project: Phoenix
> Issue Type: Sub-task
> Reporter: James Taylor
> Fix For: 4.8.0
>
>
> For local, non distributed environments, we need to build indexes that were
> build asynchronously.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)