Return-Path: Delivered-To: apmail-hadoop-common-issues-archive@minotaur.apache.org Received: (qmail 78322 invoked from network); 9 Dec 2009 19:44:42 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 9 Dec 2009 19:44:42 -0000 Received: (qmail 456 invoked by uid 500); 9 Dec 2009 19:44:42 -0000 Delivered-To: apmail-hadoop-common-issues-archive@hadoop.apache.org Received: (qmail 422 invoked by uid 500); 9 Dec 2009 19:44:42 -0000 Mailing-List: contact common-issues-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: common-issues@hadoop.apache.org Delivered-To: mailing list common-issues@hadoop.apache.org Received: (qmail 371 invoked by uid 99); 9 Dec 2009 19:44:42 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 09 Dec 2009 19:44:42 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 09 Dec 2009 19:44:39 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 46C0229A001D for ; Wed, 9 Dec 2009 11:44:18 -0800 (PST) Message-ID: <1833145368.1260387858288.JavaMail.jira@brutus> Date: Wed, 9 Dec 2009 19:44:18 +0000 (UTC) From: "Konstantin Boudnik (JIRA)" To: common-issues@hadoop.apache.org Subject: [jira] Commented: (HADOOP-6332) Large-scale Automated Test Framework In-Reply-To: <36506918.1256452199424.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/HADOOP-6332?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12788261#action_12788261 ] Konstantin Boudnik commented on HADOOP-6332: -------------------------------------------- Thanks for the answers, Sharad. All of it makes sense. One comment though: bq. But seems like tests will benefit by having a control on start/stop daemons (for example to test lost/blacklisted TT, tests may want to kill a TT). How and which tar balls are pushed and deployed are not in scope of this because test cases need not bother about it. Right, actual bits push has to be done somewhere else: Hudson or else. bq. To work with already started cluster, a config flag something like NO_CLUSTER_START can be set which will let test suites skip the cluster start/stop step. My thought on this was that the cluster's component restart part should be done in a way consistent with setup/teardown approach of pretty much any test framework like JUnit. If a test needs to start/stop a cluster then it needs to specify {{@Before}} and {{@After}} methods which will do that using provided control primitives (e.g. start_datanode.sh, stop_datanode.sh or whatever). > Large-scale Automated Test Framework > ------------------------------------ > > Key: HADOOP-6332 > URL: https://issues.apache.org/jira/browse/HADOOP-6332 > Project: Hadoop Common > Issue Type: New Feature > Components: test > Reporter: Arun C Murthy > Assignee: Arun C Murthy > Fix For: 0.21.0 > > Attachments: 6332_v1.patch > > > Hadoop would benefit from having a large-scale, automated, test-framework. This jira is meant to be a master-jira to track relevant work. > ---- > The proposal is a junit-based, large-scale test framework which would run against _real_ clusters. > There are several pieces we need to achieve this goal: > # A set of utilities we can use in junit-based tests to work with real, large-scale hadoop clusters. E.g. utilities to bring up to deploy, start & stop clusters, bring down tasktrackers, datanodes, entire racks of both etc. > # Enhanced control-ability and inspect-ability of the various components in the system e.g. daemons such as namenode, jobtracker should expose their data-structures for query/manipulation etc. Tests would be much more relevant if we could for e.g. query for specific states of the jobtracker, scheduler etc. Clearly these apis should _not_ be part of the production clusters - hence the proposal is to use aspectj to weave these new apis to debug-deployments. > ---- > Related note: we should break up our tests into at least 3 categories: > # src/test/unit -> Real unit tests using mock objects (e.g. HDFS-669 & MAPREDUCE-1050). > # src/test/integration -> Current junit tests with Mini* clusters etc. > # src/test/system -> HADOOP-6332 and it's children -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.