You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by co...@apache.org on 2009/10/14 00:30:43 UTC
svn commit: r824960 - in /hadoop/common/branches/branch-0.21: ./
.eclipse.templates/ ivy/ src/ src/test/ src/test/aop/ src/test/aop/build/
src/test/aop/org/ src/test/aop/org/apache/ src/test/aop/org/apache/hadoop/
src/test/aop/org/apache/hadoop/fi/
Author: cos
Date: Tue Oct 13 22:30:43 2009
New Revision: 824960
URL: http://svn.apache.org/viewvc?rev=824960&view=rev
Log:
HADOOP-6204. Merge -r 824899:824942 from trunk to branch 0.21
Added:
hadoop/common/branches/branch-0.21/src/test/aop/
- copied from r824942, hadoop/common/trunk/src/test/aop/
hadoop/common/branches/branch-0.21/src/test/aop/build/
- copied from r824942, hadoop/common/trunk/src/test/aop/build/
hadoop/common/branches/branch-0.21/src/test/aop/build/aop.xml
- copied unchanged from r824942, hadoop/common/trunk/src/test/aop/build/aop.xml
hadoop/common/branches/branch-0.21/src/test/aop/org/
- copied from r824942, hadoop/common/trunk/src/test/aop/org/
hadoop/common/branches/branch-0.21/src/test/aop/org/apache/
- copied from r824942, hadoop/common/trunk/src/test/aop/org/apache/
hadoop/common/branches/branch-0.21/src/test/aop/org/apache/hadoop/
- copied from r824942, hadoop/common/trunk/src/test/aop/org/apache/hadoop/
hadoop/common/branches/branch-0.21/src/test/aop/org/apache/hadoop/fi/
- copied from r824942, hadoop/common/trunk/src/test/aop/org/apache/hadoop/fi/
hadoop/common/branches/branch-0.21/src/test/aop/org/apache/hadoop/fi/FiConfig.java
- copied unchanged from r824942, hadoop/common/trunk/src/test/aop/org/apache/hadoop/fi/FiConfig.java
hadoop/common/branches/branch-0.21/src/test/aop/org/apache/hadoop/fi/ProbabilityModel.java
- copied unchanged from r824942, hadoop/common/trunk/src/test/aop/org/apache/hadoop/fi/ProbabilityModel.java
hadoop/common/branches/branch-0.21/src/test/fi-site.xml
- copied unchanged from r824942, hadoop/common/trunk/src/test/fi-site.xml
Modified:
hadoop/common/branches/branch-0.21/ (props changed)
hadoop/common/branches/branch-0.21/.eclipse.templates/.classpath
hadoop/common/branches/branch-0.21/CHANGES.txt (contents, props changed)
hadoop/common/branches/branch-0.21/build.xml
hadoop/common/branches/branch-0.21/ivy.xml
hadoop/common/branches/branch-0.21/ivy/libraries.properties
hadoop/common/branches/branch-0.21/src/saveVersion.sh
Propchange: hadoop/common/branches/branch-0.21/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Oct 13 22:30:43 2009
@@ -1,2 +1,2 @@
-/hadoop/common/trunk:818543,819670
+/hadoop/common/trunk:818543,819670,824900-824942
/hadoop/core/branches/branch-0.19/core:713112
Modified: hadoop/common/branches/branch-0.21/.eclipse.templates/.classpath
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.21/.eclipse.templates/.classpath?rev=824960&r1=824959&r2=824960&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.21/.eclipse.templates/.classpath (original)
+++ hadoop/common/branches/branch-0.21/.eclipse.templates/.classpath Tue Oct 13 22:30:43 2009
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src/java"/>
+ <classpathentry kind="src" path="src/test/aop"/>
<classpathentry kind="src" path="src/test/core"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="var" path="ANT_HOME/lib/ant.jar"/>
Modified: hadoop/common/branches/branch-0.21/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.21/CHANGES.txt?rev=824960&r1=824959&r2=824960&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.21/CHANGES.txt (original)
+++ hadoop/common/branches/branch-0.21/CHANGES.txt Tue Oct 13 22:30:43 2009
@@ -206,6 +206,9 @@
HADOOP-6240. Add new FileContext rename operation that posix compliant
that allows overwriting existing destination. (suresh)
+ HADOOP-6205. Implementing aspects development and fault injeciton
+ framework for Hadoop (cos)
+
IMPROVEMENTS
HADOOP-4565. Added CombineFileInputFormat to use data locality information
Propchange: hadoop/common/branches/branch-0.21/CHANGES.txt
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Oct 13 22:30:43 2009
@@ -1,4 +1,4 @@
-/hadoop/common/trunk/CHANGES.txt:818543,819670,823756
+/hadoop/common/trunk/CHANGES.txt:818543,819670,823756,824900-824942
/hadoop/core/branches/branch-0.18/CHANGES.txt:727226
/hadoop/core/branches/branch-0.19/CHANGES.txt:713112
/hadoop/core/trunk/CHANGES.txt:776175-785643,785929-786278
Modified: hadoop/common/branches/branch-0.21/build.xml
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.21/build.xml?rev=824960&r1=824959&r2=824960&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.21/build.xml (original)
+++ hadoop/common/branches/branch-0.21/build.xml Tue Oct 13 22:30:43 2009
@@ -252,7 +252,7 @@
</copy>
<exec executable="sh">
- <arg line="src/saveVersion.sh ${version}"/>
+ <arg line="src/saveVersion.sh ${version} ${build.dir}"/>
</exec>
<exec executable="sh">
@@ -260,6 +260,8 @@
</exec>
</target>
+ <import file="${test.src.dir}/aop/build/aop.xml"/>
+
<!-- ====================================================== -->
<!-- Compile the Java files -->
<!-- ====================================================== -->
@@ -381,7 +383,8 @@
<tar compression="gzip" destfile="${build.classes}/bin.tgz">
<tarfileset dir="bin" mode="755"/>
</tar>
- <jar jarfile="${hadoop-core.jar}"
+ <property name="jar.properties.list" value="commons-logging.properties, log4j.properties, hadoop-metrics.properties" />
+ <jar jarfile="${build.dir}/${final.name}.jar"
basedir="${build.classes}">
<manifest>
<section name="org/apache/hadoop">
@@ -390,13 +393,11 @@
<attribute name="Implementation-Vendor" value="Apache"/>
</section>
</manifest>
- <fileset file="${conf.dir}/commons-logging.properties"/>
- <fileset file="${conf.dir}/log4j.properties"/>
- <fileset file="${conf.dir}/hadoop-metrics.properties"/>
+ <fileset dir="${conf.dir}" includes="${jar.properties.list}" />
+ <fileset file="${jar.extra.properties.list}" />
</jar>
</target>
-
<!-- ================================================================== -->
<!-- Make the Hadoop metrics jar. (for use outside Hadoop) -->
<!-- ================================================================== -->
@@ -431,6 +432,9 @@
<!-- ================================================================== -->
<!-- Compile test code -->
<!-- ================================================================== -->
+ <!-- This is a wrapper for fault-injection needs-->
+ <target name="compile-tests" depends="compile-core-test"/>
+
<target name="compile-core-test" depends="compile-core-classes, ivy-retrieve-test, generate-test-records, generate-avro-records">
<mkdir dir="${test.core.build.classes}"/>
<javac
@@ -498,6 +502,75 @@
</target>
<!-- ================================================================== -->
+ <!-- Fault injection customization section.
+ These targets ought to be copied over to other projects and modified
+ as needed -->
+ <!-- ================================================================== -->
+ <target name="run-test-core-fault-inject" depends="injectfaults"
+ description="Run full set of the unit tests with fault injection">
+ <macro-run-tests-fault-inject target.name="run-test-core"
+ testcasesonly="false"/>
+ </target>
+
+ <target name="jar-test-fault-inject" depends="injectfaults"
+ description="Make hadoop-test-fi.jar">
+ <macro-jar-test-fault-inject
+ target.name="jar-test"
+ jar.final.name="test.final.name"
+ jar.final.value="${test.final.name}-fi" />
+ </target>
+
+ <target name="jar-fault-inject" depends="injectfaults"
+ description="Make hadoop-fi.jar">
+ <macro-jar-fault-inject
+ target.name="jar"
+ jar.final.name="final.name"
+ jar.final.value="${final.name}-fi" />
+ </target>
+
+ <!--This target is not included into the the top level list of target
+ for it serves a special "regression" testing purpose of non-FI tests in
+ FI environment -->
+ <target name="run-fault-inject-with-testcaseonly" depends="injectfaults">
+ <fail unless="testcase">Can't run this target without -Dtestcase setting!
+ </fail>
+ <macro-run-tests-fault-inject target.name="run-test-core"
+ testcasesonly="true"/>
+ </target>
+ <!-- ================================================================== -->
+ <!-- End of Fault injection customization section -->
+ <!-- ================================================================== -->
+
+ <condition property="tests.notestcase">
+ <and>
+ <isfalse value="${test.fault.inject}"/>
+ <not>
+ <isset property="testcase"/>
+ </not>
+ </and>
+ </condition>
+ <condition property="tests.notestcase.fi">
+ <and>
+ <not>
+ <isset property="testcase" />
+ </not>
+ <istrue value="${test.fault.inject}" />
+ </and>
+ </condition>
+ <condition property="tests.testcase">
+ <and>
+ <isfalse value="${test.fault.inject}" />
+ <isset property="testcase" />
+ </and>
+ </condition>
+ <condition property="tests.testcase.fi">
+ <and>
+ <istrue value="${test.fault.inject}" />
+ <isset property="testcase" />
+ </and>
+ </condition>
+
+ <!-- ================================================================== -->
<!-- Run unit tests -->
<!-- ================================================================== -->
<target name="run-test-core" depends="compile-core-test" description="Run core unit tests">
@@ -508,6 +581,8 @@
<mkdir dir="${test.log.dir}"/>
<copy file="${test.src.dir}/hadoop-policy.xml"
todir="${test.build.extraconf}" />
+ <copy file="${test.src.dir}/fi-site.xml"
+ todir="${test.build.extraconf}" />
<junit showoutput="${test.output}"
printsummary="${test.junit.printsummary}"
haltonfailure="${test.junit.haltonfailure}"
@@ -536,13 +611,30 @@
<propertyref name="compile.c++"/>
</syspropertyset>
<classpath refid="test.classpath"/>
+ <syspropertyset id="FaultProbabilityProperties">
+ <propertyref regex="fi.*"/>
+ </syspropertyset>
<formatter type="${test.junit.output.format}" />
- <batchtest todir="${test.build.dir}" unless="testcase">
+ <batchtest todir="${test.build.dir}" if="tests.notestcase">
<fileset dir="${test.src.dir}/core"
includes="**/${test.include}.java"
excludes="**/${test.exclude}.java" />
</batchtest>
- <batchtest todir="${test.build.dir}" if="testcase">
+ <batchtest todir="${test.build.dir}" if="tests.notestcase.fi">
+ <fileset dir="${test.src.dir}/aop"
+ includes="**/${test.include}.java"
+ excludes="**/${test.exclude}.java" />
+ </batchtest>
+ <batchtest todir="${test.build.dir}" if="tests.testcase">
+ <fileset dir="${test.src.dir}/core" includes="**/${testcase}.java"/>
+ </batchtest>
+ <batchtest todir="${test.build.dir}" if="tests.testcase.fi">
+ <fileset dir="${test.src.dir}/aop" includes="**/${testcase}.java"/>
+ </batchtest>
+ <!--The following batch is for very special occasions only when
+ a non-FI tests are needed to be executed against FI-environment -->
+ <batchtest todir="${test.build.dir}" if="special.fi.testcasesonly">
+ <fileset dir="${test.src.dir}/aop" includes="**/${testcase}.java"/>
<fileset dir="${test.src.dir}/core" includes="**/${testcase}.java"/>
</batchtest>
</junit>
@@ -566,6 +658,7 @@
<delete file="${test.build.dir}/testsfailed"/>
<property name="continueOnFailure" value="true"/>
<antcall target="run-test-core"/>
+ <antcall target="run-test-core-fault-inject"/>
<available file="${test.build.dir}/testsfailed" property="testsfailed"/>
<fail if="testsfailed">Tests failed!</fail>
</target>
@@ -1045,7 +1138,7 @@
<!-- ================================================================== -->
<!-- Clean. Delete the build files, and their directories -->
<!-- ================================================================== -->
- <target name="clean" depends="clean-contrib" description="Clean. Delete the build files, and their directories">
+ <target name="clean" depends="clean-contrib, clean-fi" description="Clean. Delete the build files, and their directories">
<delete dir="${build.dir}"/>
<delete dir="${docs.src}/build"/>
<delete dir="${src.docs.cn}/build"/>
Modified: hadoop/common/branches/branch-0.21/ivy.xml
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.21/ivy.xml?rev=824960&r1=824959&r2=824960&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.21/ivy.xml (original)
+++ hadoop/common/branches/branch-0.21/ivy.xml Tue Oct 13 22:30:43 2009
@@ -285,6 +285,16 @@
name="paranamer-ant"
rev="${paranamer.version}"
conf="common->default"/>
+ <dependency org="org.aspectj"
+ name="aspectjrt"
+ rev="${aspectj.version}"
+ conf="common->default">
+ </dependency>
+ <dependency org="org.aspectj"
+ name="aspectjtools"
+ rev="${aspectj.version}"
+ conf="common->default">
+ </dependency>
</dependencies>
-
+
</ivy-module>
Modified: hadoop/common/branches/branch-0.21/ivy/libraries.properties
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.21/ivy/libraries.properties?rev=824960&r1=824959&r2=824960&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.21/ivy/libraries.properties (original)
+++ hadoop/common/branches/branch-0.21/ivy/libraries.properties Tue Oct 13 22:30:43 2009
@@ -77,3 +77,5 @@
xmlenc.version=0.52
xerces.version=1.4.4
+
+aspectj.version=1.6.4
Modified: hadoop/common/branches/branch-0.21/src/saveVersion.sh
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.21/src/saveVersion.sh?rev=824960&r1=824959&r2=824960&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.21/src/saveVersion.sh (original)
+++ hadoop/common/branches/branch-0.21/src/saveVersion.sh Tue Oct 13 22:30:43 2009
@@ -21,6 +21,7 @@
unset LANG
unset LC_CTYPE
version=$1
+build_dir=$2
user=`whoami`
date=`date`
cwd=`pwd`
@@ -43,12 +44,12 @@
fi
srcChecksum=`find src -name '*.java' | LC_ALL=C sort | xargs md5sum | md5sum | cut -d ' ' -f 1`
-mkdir -p build/src/org/apache/hadoop
+mkdir -p $build_dir/src/org/apache/hadoop
cat << EOF | \
sed -e "s/VERSION/$version/" -e "s/USER/$user/" -e "s/DATE/$date/" \
-e "s|URL|$url|" -e "s/REV/$revision/" \
-e "s|BRANCH|$branch|" -e "s/SRCCHECKSUM/$srcChecksum/" \
- > build/src/org/apache/hadoop/package-info.java
+ > $build_dir/src/org/apache/hadoop/package-info.java
/*
* Generated by src/saveVersion.sh
*/