You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Mujtaba Chohan (JIRA)" <ji...@apache.org> on 2015/02/12 02:19:11 UTC

[jira] [Reopened] (PHOENIX-1634) LocalIndexSplitter prevents region from auto split

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

Mujtaba Chohan reopened PHOENIX-1634:
-------------------------------------

[~rajesh23] With *HBase 0.98.10* - Using the same test scenario in which base table is declared multi-tenant without local index but local index hbase table is created upfront, base table region split never succeeds and it gets rollbacked rather than stuck in SPLITTING_NEW transition state. Thus total number of regions for base table always remain 1 after manual split or auto-split kicking in. 

Here is the associated log:
{code}
regionserver.SplitRequest: Running rollback/cleanup of failed split of MYSCHEMA.MY_MULTITENANT_TABLE,,1423702967855.f08bbfbea31c1b4b60d0409f159b4f2d.; Coprocessor bypassing region MYSCHEMA.MY_MULTITENANT_TABLE,,1423702967855.f08bbfbea31c1b4b60d0409f159b4f2d. split.
java.io.IOException: Coprocessor bypassing region MYSCHEMA.MY_MULTITENANT_TABLE,,1423702967855.f08bbfbea31c1b4b60d0409f159b4f2d. split.
	at org.apache.hadoop.hbase.regionserver.SplitTransaction.createDaughters(SplitTransaction.java:313)
	at org.apache.hadoop.hbase.regionserver.SplitTransaction.execute(SplitTransaction.java:676)
	at org.apache.hadoop.hbase.regionserver.SplitRequest.run(SplitRequest.java:85)
	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:722)
{code}

[~jamestaylor]



> 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
>         Attachments: logs.zip, performance.py
>
>
> 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)