MAPREDUCE-2629. Workaround a JVM class loading quirk which prevents JIT compilation of inner classes methods in ReduceContextImpl. Contributed by Eric Caspole.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.23@1187182 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Todd Lipcon 2011-10-21 05:20:14 +00:00
parent fe370841e6
commit 5acc010db8
2 changed files with 11 additions and 4 deletions

View File

@ -375,6 +375,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.

View File

@ -176,11 +176,15 @@ public class ReduceContextImpl<KEYIN,VALUEIN,KEYOUT,VALUEOUT>
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,VALUEIN,KEYOUT,VALUEOUT>
@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,VALUEIN,KEYOUT,VALUEOUT>
@Override
public void clearMark() throws IOException {
if (backupStore == null) {
if (getBackupStore() == null) {
return;
}
if (inReset) {
@ -308,7 +312,7 @@ public class ReduceContextImpl<KEYIN,VALUEIN,KEYOUT,VALUEOUT>
* @throws IOException
*/
public void resetBackupStore() throws IOException {
if (backupStore == null) {
if (getBackupStore() == null) {
return;
}
inReset = isMarked = false;