hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Enis Soztutar (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-6201) HBase integration/system tests
Date Mon, 18 Jun 2012 23:17:43 GMT

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

Enis Soztutar commented on HBASE-6201:
--------------------------------------

bq. Are you saying that you would like the tests themeselves to get involved in the lifecycle
of each service? Like bringing them up and down, etc?
Yes. At the current state, most of our unit tests, which are candidates to be upgraded to
be system tests does start a mini-cluster of n-nodes, load some data, kill a few nodes, verify,
etc. We are converting/reimplementing them to do the same things on the actual cluster. A
particular test case, for example, starts 4 region servers, put some data, kills 1 RS, checks
whether the regions are balanced, kills one more, checks agains, etc. 

Some basic functionality we can use from itest are: 
 - Starting / stopping / sending a signal to daemons (start a region server on host1, kill
master on host2, etc). For both HBase and Hadoop processes. 
 - Basic cluster/node discovery (give me the nodes running hmaster)
 - Run this command on host3 (SSH)
                
> HBase integration/system tests
> ------------------------------
>
>                 Key: HBASE-6201
>                 URL: https://issues.apache.org/jira/browse/HBASE-6201
>             Project: HBase
>          Issue Type: Bug
>          Components: test
>    Affects Versions: 0.96.0
>            Reporter: Enis Soztutar
>            Assignee: Enis Soztutar
>
> Integration and general system tests have been discussed previously, and the conclusion
is that we need to unify how we do "release candidate" testing (HBASE-6091).
> In this issue, I would like to discuss and agree on a general plan, and open subtickets
for execution so that we can carry out most of the tests in HBASE-6091 automatically. 
> Initially, here is what I have in mind: 
> 1. Create hbase-it (or hbase-tests) containing forward port of HBASE-4454 (without any
tests). This will allow integration test to be run with
>  {code}
>   mvn verify
>  {code}
> 2. Add ability to run all integration/system tests on a given cluster. Smt like: 
>  {code}
>   mvn verify -Dconf=/etc/hbase/conf/
>  {code}
> should run the test suite on the given cluster. (Right now we can launch some of the
tests (TestAcidGuarantees) from command line). Most of the system tests will be client side,
and interface with the cluster through public APIs. We need a tool on top of MiniHBaseCluster
or improve HBaseTestingUtility, so that tests can interface with the mini cluster or the actual
cluster uniformly.
> 3. Port candidate unit tests to the integration tests module. Some of the candidates
are: 
>  - TestAcidGuarantees / TestAtomicOperation
>  - TestRegionBalancing (HBASE-6053)
>  - TestFullLogReconstruction
>  - TestMasterFailover
>  - TestImportExport
>  - TestMultiVersions / TestKeepDeletes
>  - TestFromClientSide
>  - TestShell and src/test/ruby
>  - TestRollingRestart
>  - Test**OnCluster
>  - Balancer tests
> These tests should continue to be run as unit tests w/o any change in semantics. However,
given an actual cluster, they should use that, instead of spinning a mini cluster.  
> 4. Add more tests, especially, long running ingestion tests (goraci, BigTop's TestLoadAndVerify,
LoadTestTool), and chaos monkey style fault tests. 
> All suggestions welcome. 

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

        

Mime
View raw message