Description
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-6332and it's children
Attachments
Attachments
Issue Links
- blocks
-
HADOOP-6752 Remote cluster control functionality needs JavaDocs improvement
- Closed
- incorporates
-
MAPREDUCE-1154 Large-scale, automated test framwork for Map-Reduce
- Resolved
- is depended upon by
-
HADOOP-6788 [Herriot] Exception exclusion functionality is not working correctly.
- Closed
-
HADOOP-6819 [Herriot] Shell command for getting the new exceptions in the logs returning exitcode 1 after executing successfully.
- Closed
-
HADOOP-6869 Functionality to create file or folder on a remote daemon side
- Closed
-
HADOOP-6777 Implement a functionality for suspend and resume a process.
- Closed
-
HADOOP-6836 [Herriot]: Generic method for adding/modifying the attributes for new configuration.
- Closed
-
HADOOP-6772 Utilities for system tests specific.
- Closed
- is related to
-
HADOOP-6789 set-version should precede Herriot artifacts installation target
- Resolved
-
HADOOP-6790 Instrumented (Herriot) build uses too wide mask to include aspect files.
- Closed
-
HADOOP-1257 a distributed junit test runner
- Open
-
HDFS-708 A stress-test tool for HDFS.
- Closed
-
HADOOP-6786 test-patch needs to verify Herriot integrity
- Resolved
- is required by
-
MAPREDUCE-1653 Add apache header to UserNamePermission.java
- Resolved
-
MAPREDUCE-1655 Automate the local file permission checking when a job is running.
- Resolved
- relates to
-
HADOOP-6828 Herrior uses old way of accessing logs directories
- Closed
-
HADOOP-6248 Circus: Proposal and Preliminary Code for a Hadoop System Testing Framework
- Resolved
-
MAPREDUCE-1774 Large-scale Automated Framework
- Closed
-
HDFS-1341 Provide a mechanism to run functional tests on a real cluster
- Open
-
HDFS-1134 Large-scale Automated Framework
- Closed
-
HADOOP-6784 Create Wiki document about Herriot Test Framework and test development guide
- Resolved