You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Enis Soztutar (JIRA)" <ji...@apache.org> on 2014/04/30 19:54:17 UTC

[jira] [Resolved] (HBASE-11100) IntegrationTestTableSnapshotInputFormat fails due to empty regions

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

Enis Soztutar resolved HBASE-11100.
-----------------------------------

    Resolution: Duplicate

Let me resolve this as duplicate of HBASE-9445. I'll provide an updated patch there. Thanks Vandana for reporting this. 

> IntegrationTestTableSnapshotInputFormat fails due to empty regions
> ------------------------------------------------------------------
>
>                 Key: HBASE-11100
>                 URL: https://issues.apache.org/jira/browse/HBASE-11100
>             Project: HBase
>          Issue Type: Bug
>          Components: snapshots
>    Affects Versions: 0.98.1
>            Reporter: Vandana Ayyalasomayajula
>            Assignee: Vandana Ayyalasomayajula
>            Priority: Minor
>
> When IntegrationTestTableSnapshotInputFormat is ran on real cluster with command
> {code}
> hbase org.apache.hadoop.hbase.mapreduce.IntegrationTestTableSnapshotInputFormat
> {code}
> it fails with the following exception:
> {code}
> Exception in thread "main" java.lang.AssertionError: expected:<32> but was:<30>
> 	at org.junit.Assert.fail(Assert.java:88)
> 	at org.junit.Assert.failNotEquals(Assert.java:743)
> 	at org.junit.Assert.assertEquals(Assert.java:118)
> 	at org.junit.Assert.assertEquals(Assert.java:555)
> 	at org.junit.Assert.assertEquals(Assert.java:542)
> 	at org.apache.hadoop.hbase.snapshot.SnapshotTestingUtils.confirmSnapshotValid(SnapshotTestingUtils.java:244)
> 	at org.apache.hadoop.hbase.snapshot.SnapshotTestingUtils.createSnapshotAndValidate(SnapshotTestingUtils.java:399)
> 	at org.apache.hadoop.hbase.mapreduce.TestTableSnapshotInputFormat.createTableAndSnapshot(TestTableSnapshotInputFormat.java:193)
> 	at org.apache.hadoop.hbase.mapreduce.TestTableSnapshotInputFormat.doTestWithMapReduce(TestTableSnapshotInputFormat.java:363)
> 	at org.apache.hadoop.hbase.mapreduce.IntegrationTestTableSnapshotInputFormat.runTestFromCommandLine(IntegrationTestTableSnapshotInputFormat.java:132)
> 	at org.apache.hadoop.hbase.IntegrationTestBase.doWork(IntegrationTestBase.java:79)
> 	at org.apache.hadoop.hbase.util.AbstractHBaseTool.run(AbstractHBaseTool.java:112)
> 	at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
> 	at org.apache.hadoop.hbase.mapreduce.IntegrationTestTableSnapshotInputFormat.main(IntegrationTestTableSnapshotInputFormat.java:151)
> {code}
> However when we specify less number of regions, say 6 like 
> {code}
> hbase org.apache.hadoop.hbase.mapreduce.IntegrationTestTableSnapshotInputFormat -DIntegrationTestTableSnapshotInputFormat.numRegions=6
> {code}
> the test passes.
> The integration test internally uses HBaseTestingUtility's loadtable API to create and load data into the regions. But that API does not seem to generate enough data for 32 regions ( which is the default number of regions in the integration test).  As a result some regions end up with no keys.  When the SnapshotTestingUtils calls confirmSnapshotValid method to verify the snaphot process, it looks for store files. When some region are empty they are not counted and hence the test fails. 



--
This message was sent by Atlassian JIRA
(v6.2#6252)