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:
parent
fe370841e6
commit
5acc010db8
|
@ -375,6 +375,9 @@ Release 0.23.0 - Unreleased
|
||||||
|
|
||||||
MAPREDUCE-901. Efficient framework counters. (llu via acmurthy)
|
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
|
BUG FIXES
|
||||||
|
|
||||||
MAPREDUCE-2603. Disable High-Ram emulation in system tests.
|
MAPREDUCE-2603. Disable High-Ram emulation in system tests.
|
||||||
|
|
|
@ -176,11 +176,15 @@ public class ReduceContextImpl<KEYIN,VALUEIN,KEYOUT,VALUEOUT>
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BackupStore<KEYIN,VALUEIN> getBackupStore() {
|
||||||
|
return backupStore;
|
||||||
|
}
|
||||||
|
|
||||||
protected class ValueIterator implements ReduceContext.ValueIterator<VALUEIN> {
|
protected class ValueIterator implements ReduceContext.ValueIterator<VALUEIN> {
|
||||||
|
|
||||||
private boolean inReset = false;
|
private boolean inReset = false;
|
||||||
private boolean clearMarkFlag = false;
|
private boolean clearMarkFlag = false;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean hasNext() {
|
public boolean hasNext() {
|
||||||
try {
|
try {
|
||||||
|
@ -247,7 +251,7 @@ public class ReduceContextImpl<KEYIN,VALUEIN,KEYOUT,VALUEOUT>
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void mark() throws IOException {
|
public void mark() throws IOException {
|
||||||
if (backupStore == null) {
|
if (getBackupStore() == null) {
|
||||||
backupStore = new BackupStore<KEYIN,VALUEIN>(conf, taskid);
|
backupStore = new BackupStore<KEYIN,VALUEIN>(conf, taskid);
|
||||||
}
|
}
|
||||||
isMarked = true;
|
isMarked = true;
|
||||||
|
@ -290,7 +294,7 @@ public class ReduceContextImpl<KEYIN,VALUEIN,KEYOUT,VALUEOUT>
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void clearMark() throws IOException {
|
public void clearMark() throws IOException {
|
||||||
if (backupStore == null) {
|
if (getBackupStore() == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (inReset) {
|
if (inReset) {
|
||||||
|
@ -308,7 +312,7 @@ public class ReduceContextImpl<KEYIN,VALUEIN,KEYOUT,VALUEOUT>
|
||||||
* @throws IOException
|
* @throws IOException
|
||||||
*/
|
*/
|
||||||
public void resetBackupStore() throws IOException {
|
public void resetBackupStore() throws IOException {
|
||||||
if (backupStore == null) {
|
if (getBackupStore() == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
inReset = isMarked = false;
|
inReset = isMarked = false;
|
||||||
|
|
Loading…
Reference in New Issue