Author: todd Date: Fri Oct 21 05:20:27 2011 New Revision: 1187183 URL: http://svn.apache.org/viewvc?rev=1187183&view=rev Log: MAPREDUCE-2629. Workaround a JVM class loading quirk which prevents JIT compilation of inner classes methods in ReduceContextImpl. Contributed by Eric Caspole.
Modified: hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/task/ReduceContextImpl.java Modified: hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt?rev=1187183&r1=1187182&r2=1187183&view=diff ============================================================================== --- hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt (original) +++ hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt Fri Oct 21 05:20:27 2011 @@ -428,6 +428,9 @@ Release 0.23.0 - Unreleased MAPREDUCE-901. Efficient framework counters. (llu via acmurthy) + MAPREDUCE-2629. Workaround a JVM class loading quirk which prevents + JIT compilation of inner classes methods in ReduceContextImpl. + BUG FIXES MAPREDUCE-2603. Disable High-Ram emulation in system tests. Modified: hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/task/ReduceContextImpl.java URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/task/ReduceContextImpl.java?rev=1187183&r1=1187182&r2=1187183&view=diff ============================================================================== --- hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/task/ReduceContextImpl.java (original) +++ hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/task/ReduceContextImpl.java Fri Oct 21 05:20:27 2011 @@ -176,11 +176,15 @@ public class ReduceContextImpl<KEYIN,VAL return value; } + BackupStore<KEYIN,VALUEIN> getBackupStore() { + return backupStore; + } + protected class ValueIterator implements ReduceContext.ValueIterator<VALUEIN> { private boolean inReset = false; private boolean clearMarkFlag = false; - + @Override public boolean hasNext() { try { @@ -247,7 +251,7 @@ public class ReduceContextImpl<KEYIN,VAL @Override public void mark() throws IOException { - if (backupStore == null) { + if (getBackupStore() == null) { backupStore = new BackupStore<KEYIN,VALUEIN>(conf, taskid); } isMarked = true; @@ -290,7 +294,7 @@ public class ReduceContextImpl<KEYIN,VAL @Override public void clearMark() throws IOException { - if (backupStore == null) { + if (getBackupStore() == null) { return; } if (inReset) { @@ -308,7 +312,7 @@ public class ReduceContextImpl<KEYIN,VAL * @throws IOException */ public void resetBackupStore() throws IOException { - if (backupStore == null) { + if (getBackupStore() == null) { return; } inReset = isMarked = false;