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