[ 
https://issues.apache.org/jira/browse/PHOENIX-3113?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15392174#comment-15392174
 ] 

Loknath Priyatham Teja Singamsetty  commented on PHOENIX-3113:
--------------------------------------------------------------

Interesting and awesome catch [~an...@apache.org]. Thanks for pointing the 
scenario. This can cause issues when cluster is setup where the region servers 
and map-reduce hosts are different. When the mapred-client jar is included, the 
"mapred.framework.name" value will be returned as local which is the default 
value coming from mapred-default.xml.



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