You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Roman Shaposhnik (Commented) (JIRA)" <ji...@apache.org> on 2011/11/19 00:24:53 UTC

[jira] [Commented] (HBASE-4821) A fully automated comprehensive distributed integration test for HBase

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

Roman Shaposhnik commented on HBASE-4821:
-----------------------------------------

Bigtop (http://incubator.apache.org/projects/bigtop.html) aims at providing a platform for the creations of exactly the kind of tests you're talking about *across* all the projects of a Hadoop stack. Granted, we're a young project and our test management framework is nowhere near the scope and quality of something like TestNG, but I think it will be helpful to invest in improving it. To give you a quick idea of the baseline architecture, here's what Bigtop testing framework assumes:
   1. all tests are implemented as code running on top of JVM. We don't care what language it is (Java, Groovy, Clojure, etc) as long as at the end of the day there's a bunch of class files generated.
   2. all tests are packaged/versioned as Maven artifacts
   3. all test data is packaged/versioned as Maven artifacts
   4. the entry point into test execution is via Junit/TestNG-style
   5. tests NEVER concern themselves with deployment (we've got Puppet for that)
   6. tests NEVER concern themselves with configuration (we've got Puppet for that)

If you think Bigtop can serve as a reasonable platform for what you're trying to accomplish, lets continue this discussion over at bigtop-dev@incubator (and Bigtop JIRAs).
                
> 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
>
> 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