hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Steve Loughran (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HADOOP-6332) Large-scale Automated Test Framework
Date Fri, 30 Oct 2009 11:06:59 GMT

    [ https://issues.apache.org/jira/browse/HADOOP-6332?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12771912#action_12771912
] 

Steve Loughran commented on HADOOP-6332:
----------------------------------------

Thinking about this a bit more, I want to make clear that I dont think we should abandon JUnit
as a java language for writing tests in. It's simple, its extensible, it works. I do think
that the report output format is limited, but that can be done with a better test runner,
one that pulls in output from >1 process at the specific log levels, and such like. That's
a feature to add later.

What I do want to do is decouple cluster instantiation from those tests that just need a working
cluster -all those whose setup/teardown create MiniMR and MiniDFS clusters. These in-VM clusters
are good for debugging and getting all the log output, but unrealistic -single VM, no native
code, not started via the shell scripts.

One option is to leave the existing test suites alone, and start some new , hadoop-cluster-test,
that 
# Lets people bring up their own clusters how they choose (out of scope). However the cluster
comes up, some properties file needs to be set up with the URLs of the filesystem and job
tracker
# Contains tests that are written to be run against large, live clusters. The setup code doesn't
need to bring up a cluster, it may need to clean up old output
# Possibly: has a shared static dataset for real testing. Size is the issue here, but some
things could be generated , driven by pseudo random numbers for replicability.
# Publishes its test code as a JAR + build.xml that can be run against your own cluster
# Somewhere to experiment with better logging, test execution.

> 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
>             Fix For: 0.21.0
>
>
> 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.


Mime
View raw message