MAPREDUCE-6768. TestRecovery.testSpeculative failed with NPE. Contributed by Haibo Chen

This commit is contained in:
Jason Lowe 2016-08-29 19:54:34 +00:00
parent 6742fb6e68
commit 69f7277625

View File

@ -25,6 +25,7 @@
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import com.google.common.base.Supplier;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
@ -96,6 +97,7 @@
import org.apache.hadoop.yarn.api.records.ContainerId;
import org.apache.hadoop.yarn.api.records.Resource;
import org.apache.hadoop.yarn.event.EventHandler;
import org.apache.hadoop.test.GenericTestUtils;
import org.apache.hadoop.yarn.util.Clock;
import org.apache.hadoop.yarn.util.SystemClock;
import org.junit.Test;
@ -1196,6 +1198,12 @@ public void testSpeculative() throws Exception {
TaskAttempt task1Attempt2 = t1it.next();
TaskAttempt task2Attempt = mapTask2.getAttempts().values().iterator().next();
// wait for the second task attempt to be assigned.
GenericTestUtils.waitFor(new Supplier<Boolean>() {
@Override public Boolean get() {
return task1Attempt2.getAssignedContainerID() != null;
}
}, 10, 10000);
ContainerId t1a2contId = task1Attempt2.getAssignedContainerID();
LOG.info(t1a2contId.toString());