Ankit Singhal created PHOENIX-3113:
--------------------------------------
Summary: 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
Priority: Critical
Fix For: 4.8.0
As per below code, we are starting automatic build of async index even if
mapreduce.framework.name is not 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)