hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Hsieh (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-4821) A fully automated comprehensive distributed integration test for HBase
Date Wed, 25 Apr 2012 19:10:18 GMT

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

Jonathan Hsieh commented on HBASE-4821:
---------------------------------------

TestLoadAndVerify is a Bigtop test currently, but others that might fit into Roman's category
#2 include any of the HBase MR tests or tool-sy tests like TestImportTsv, TestImportExport,
(possibly the thrift/rest/avro servers) and some of the other long running external-api only
tests like TestAcidGuarantee. 

Also another purpose of the shim layer is to provide an abstraction layer so the same code
is used against a minicluster when run in a HBase context or against a real cluster in the
Bigtop context.  It would a thinner interface than Mini*Cluster that does not expose internals.
 I haven't thought this out completely yet but it could potentially be useful for dealing
Hadoop1 vs Hadoop2 issues as well.
                
> A fully automated comprehensive distributed integration test for HBase
> ----------------------------------------------------------------------
>
>                 Key: HBASE-4821
>                 URL: https://issues.apache.org/jira/browse/HBASE-4821
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Mikhail Bautin
>            Assignee: Mikhail Bautin
>            Priority: Critical
>
> To properly verify that a particular version of HBase is good for production deployment
we need a better way to do real cluster testing after incremental changes. Running unit tests
is good, but we also need to deploy HBase to a cluster, run integration tests, load tests,
Thrift server tests, kill some region servers, kill the master, and produce a report. All
of this needs to happen in 20-30 minutes with minimal manual intervention. I think this way
we can combine agile development with high stability of the codebase. I am envisioning a high-level
framework written in a scripting language (e.g. Python) that would abstract external operations
such as "deploy to test cluster", "kill a particular server", "run load test A", "run load
test B" (we already have a few kinds of load tests implemented in Java, and we could write
a Thrift load test in Python). This tool should also produce intermediate output, allowing
to catch problems early and restart the test.
> No implementation has yet been done. Any ideas or suggestions are 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