You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Jean-Daniel Cryans (JIRA)" <ji...@apache.org> on 2013/07/16 23:00:48 UTC

[jira] [Updated] (HBASE-8961) Make TestReplicationQueueFailover less integration-y by splitting it up

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

Jean-Daniel Cryans updated HBASE-8961:
--------------------------------------

    Attachment: HBASE-8961.patch

Attaching the patch that does what I described. The details:

M       hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationBase.java

Changes the table on the slave side to have more than 1 region. I thought it was odd to kill a RS if it's not even going to have any regions. Probably a problem with the original test case.

D       hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationQueueFailover.java
A  +    hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationKillRS.java
Renamed the test to make it more relevant to what it does (e.g. not just about failing over a queue)

Then the queueFailover test was split into two classes, one that kills a master RS and the other that kills a slave RS
A       hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationKillMasterRS.java
A       hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationKillSlaveRS.java

I'm also renaming the compressed version of the test because it just runs the master killer one
D       hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationQueueFailoverCompressed.java
A  +    hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationKillMasterRSCompressed.java

Finally here's how long each test take on my machine (less than a minute each):

Running org.apache.hadoop.hbase.replication.TestReplicationKillMasterRS
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 50.312 sec
Running org.apache.hadoop.hbase.replication.TestReplicationKillMasterRSCompressed
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 49.409 sec
Running org.apache.hadoop.hbase.replication.TestReplicationKillSlaveRS
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 42.462 sec
                
> Make TestReplicationQueueFailover less integration-y by splitting it up
> -----------------------------------------------------------------------
>
>                 Key: HBASE-8961
>                 URL: https://issues.apache.org/jira/browse/HBASE-8961
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Jean-Daniel Cryans
>            Assignee: Jean-Daniel Cryans
>             Fix For: 0.98.0, 0.95.2
>
>         Attachments: HBASE-8961.patch
>
>
> Currently TestReplicationQueueFailover.queueFailover does this:
> - start loading a table
> - kill a RS on the master midway
> - kill a a RS on the slave a few seconds after that
> - wait for it all to blow over
> - count rows on each cluster
> I'm going to split the killing into two different tests. It will make it more unit testy and less trying to cover ITish test cases.
> TestReplicationQueueFailoverCompressed was also doing queueFailover, so I'm going to modify it to just run the killing of a master RS.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira