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

Reply via email to