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