[ 
https://issues.apache.org/jira/browse/PHOENIX-3113?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

James Taylor updated PHOENIX-3113:
----------------------------------
    Attachment: PHOENIX-3113_test_wip.patch

Thanks, [~singamteja]. This looks better. If all the tests are passing, I think 
this is all we need for 4.8.0. Are other changes required?

I did some additional testing (see attached) and it looks like the async index 
building (at least our test version of it you added to MetaDataRegionObserver) 
isn't working for transactional, mutable, or local indexes. One reason I know 
that transactional tables won't work is that we're setting the CURRENT_SCN 
property which isn't supported for transactional tables. I remember we came up 
with a different mechanism to workaround this. [~tdsilva] can follow up with 
you for post 4.8.0 work to get this ironed out.

> Automatic build of async index will happen even if mapreduce.framework.name 
> is not set in any configuration
> -----------------------------------------------------------------------------------------------------------
>
>                 Key: PHOENIX-3113
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-3113
>             Project: Phoenix
>          Issue Type: Bug
>            Reporter: Ankit Singhal
>            Assignee: Loknath Priyatham Teja Singamsetty 
>            Priority: Blocker
>             Fix For: 4.8.0
>
>         Attachments: PHOENIX-3113_test_wip.patch, phoenix-3113-v2.patch, 
> phoenix-3113-v3.patch, phoenix-3113.patch
>
>
> As per below code, we are starting automatic build of async index even if 
> mapreduce.framework.name is not set in any of the configuration(because 
> conf.get(QueryServices.MAPRED_FRAMEWORK_NAME) will always return LOCAL as a 
> default value).
> This may cause problem in the hbase cluster where mapreduce is not deployed 
> or this configuration is not set or included in the classpath. 
> {code}
> String hbaseClusterDistributedMode = 
> conf.get(QueryServices.HBASE_CLUSTER_DISTRIBUTED_ATTRIB);
>         String mapredFrameworkName = 
> conf.get(QueryServices.MAPRED_FRAMEWORK_NAME);
> if ((hbaseClusterDistributedMode != null && 
> !hbaseClusterDistributedMode.equals(HBASE_CLUSTER_DISTRIBUTED_CONFIG)) || 
>             (mapredFrameworkName != null && 
> !mapredFrameworkName.equals(MAPRED_FRAMEWORK_YARN_CONFIG)))
>         {
>             LOG.info("Enabling Async Index rebuilder");
>             AsyncIndexRebuilderTask asyncIndexRebuilderTask = new 
> AsyncIndexRebuilderTask(e.getEnvironment());
>             // run async index rebuilder task every 10 secs to rebuild any 
> newly created async indexes
>             executor.scheduleAtFixedRate(asyncIndexRebuilderTask, 10000, 
> rebuildIndexTimeInterval, TimeUnit.MILLISECONDS);
>         }
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to