You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Zhihong Ted Yu (JIRA)" <ji...@apache.org> on 2012/06/07 23:56:23 UTC

[jira] [Commented] (HBASE-5726) TestSplitTransactionOnCluster occasionally failing

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

Zhihong Ted Yu commented on HBASE-5726:
---------------------------------------

>From https://builds.apache.org/view/G-L/view/HBase/job/HBase-TRUNK/3000/testReport/org.apache.hadoop.hbase.regionserver/TestSplitTransactionOnCluster/testShutdownFixupWhenDaughterHasSplit/:
{code}
2012-06-07 18:33:22,794 DEBUG [pool-1-thread-1-EventThread] zookeeper.ZKUtil(1142): master:49315-0x137c838bfa60000 Retrieved 103 byte(s) of data from znode /hbase/unassigned/73830568ee93434ba97f7b5ade48ae30 and set watcher; region=ephemeral,,1339093997065.73830568ee93434ba97f7b5ade48ae30., state=RS_ZK_REGION_SPLITTING, servername=juno.apache.org,39424,1339093992166, createTime=1339094002792, payload.length=0
...
2012-06-07 18:33:47,887 DEBUG [Thread-941] regionserver.TestSplitTransactionOnCluster(482): Waiting on region to split
2012-06-07 18:33:47,922 DEBUG [RegionServer:8;juno.apache.org,43570,1339094025325-splits-1339094027483] regionserver.HRegion(463): Instantiated testMasterRestartAtRegionSplitPendingCatalogJanitor,,1339094027484.23694c0a5312f5801dfd5a2857cc3556.
2012-06-07 18:33:23,648 DEBUG [RegionServer:0;juno.apache.org,39424,1339093992166-splits-1339094002786] regionserver.HRegion(463): Instantiated ephemeral,mnk,1339094002786.b5c2d9c3e0939c583f874e3efd51b478.
2012-06-07 18:33:23,680 INFO  [RegionServer:0;juno.apache.org,39424,1339093992166-splits-1339094002786] catalog.MetaEditor(191): Offlined parent region ephemeral,,1339093997065.73830568ee93434ba97f7b5ade48ae30. in META
{code}
We can see that region 73830568ee93434ba97f7b5ade48ae30 didn't finish splitting after the last 'Waiting on region to split' was printed.
In split() method:
{code}
    while (ProtobufUtil.getOnlineRegions(server).size() <= regionCount) {
      LOG.debug("Waiting on region to split");
{code}
I think the above method should be improved: if a region is moved onto server, the loop would exit but number of daughter regions wouldn't be 2.
                
> TestSplitTransactionOnCluster occasionally failing
> --------------------------------------------------
>
>                 Key: HBASE-5726
>                 URL: https://issues.apache.org/jira/browse/HBASE-5726
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Uma Maheswara Rao G
>            Priority: Critical
>         Attachments: Hbase.log_testExistingZnodeBlocksSplitAndWeRollback & testShutdownFixupWhenDaughterHasSplit, Hbase.log_testRSSplitEphemeralsDisappearButDaughtersAreOnlinedAfterShutdownHandling
>
>
> When I ran TestSplitTransactionOnCluster, some times tests are failing.
> {quote}
> java.lang.AssertionError: expected:<1> but was:<0>
> 	at org.junit.Assert.fail(Assert.java:93)
> 	at org.junit.Assert.failNotEquals(Assert.java:647)
> 	at org.junit.Assert.assertEquals(Assert.java:128)
> 	at org.junit.Assert.assertEquals(Assert.java:472)
> 	at org.junit.Assert.assertEquals(Assert.java:456)
> 	at org.apache.hadoop.hbase.regionserver.TestSplitTransactionOnCluster.getAndCheckSingleTableRegion(TestSplitTransactionOnCluster.java:89)
> 	at org.apache.hadoop.hbase.regionserver.TestSplitTransactionOnCluster.testShutdownFixupWhenDaughterHasSplit(TestSplitTransactionOnCluster.java:298)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)
> 	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
> 	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
> 	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
> 	at org.junit.internal.runners.statements.FailOnTimeout$StatementThread.run(FailOnTimeout.java:62)
> {quote}
> Seems like test is flaky, random other cases also fails.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira