[
https://issues.apache.org/jira/browse/PHOENIX-1634?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14305554#comment-14305554
]
James Taylor commented on PHOENIX-1634:
---------------------------------------
[~rajeshbabu] - to be clear, the local index table has no data, as there are no
local indexes. As you know, we create the local index hbase table upfront, but
only populate when local indexes are added.
We're seeing the following log line from
LocalIndexSplitter.preSplitBeforePONR(). Why is this calling ctx.bypass()
instead of just returning? Wouldn't this cause other coprocessor calls to not
be called? Is this the expected code path if the local index table is empty?
{code}
if (indexRegion == null) {
LOG.warn("Index region corresponindg to data region " +
environment.getRegion()
+ " not in the same server. So skipping the split.");
ctx.bypass();
return;
}
{code}
> LocalIndexSplitter prevents region from auto split
> --------------------------------------------------
>
> Key: PHOENIX-1634
> URL: https://issues.apache.org/jira/browse/PHOENIX-1634
> Project: Phoenix
> Issue Type: Bug
> Affects Versions: 4.3
> Reporter: Mujtaba Chohan
> Assignee: rajeshbabu
>
> Local index is *not* created for a multi-tenant table however empty HBase
> table is created in advance for local index. With data upserted in the
> multi-tenant table, after multiple successive auto-splits when region tries
> to split again on another region server, LocalIndexSplitter prevents
> auto-split from happening. [~rajesh23] Please see the log below. Thanks
> [~apurtell] and [~jamestaylor] for narrowing down this issue.
> {code}
> WARN org.apache.hadoop.hbase.regionserver.LocalIndexSplitter: Index region
> corresponindg to data region
> MYSCHEMA.MY_MULTITENANT_TABLE,,1422663910075.db3861e02b58e21b5383704375539ee5.
> not in the same server. So skipping the split.
> 2015-01-31 04:48:53,532 INFO
> org.apache.hadoop.hbase.regionserver.SplitRequest: Running rollback/cleanup
> of failed split of
> MYSCHEMA.MY_MULTITENANT_TABLE,,1422663910075.db3861e02b58e21b5383704375539ee5.;
> Coprocessor bypassing region
> MYSCHEMA.MY_MULTITENANT_TABLE,,1422663910075.db3861e02b58e21b5383704375539ee5.
> split.
> java.io.IOException: Coprocessor bypassing region
> MYSCHEMA.MY_MULTITENANT_TABLE,,1422663910075.db3861e02b58e21b5383704375539ee5.
> split.
> at
> org.apache.hadoop.hbase.regionserver.SplitTransaction.createDaughters(SplitTransaction.java:309)
> at
> org.apache.hadoop.hbase.regionserver.SplitTransaction.execute(SplitTransaction.java:655)
> at org.apache.hadoop.hbase.regionserver.SplitRequest.run(SplitRequest.java:84)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:745)
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)