|
17 | 17 | */ |
18 | 18 | package org.apache.hadoop.mapred; |
19 | 19 |
|
20 | | -import java.util.function.Supplier; |
21 | | -import org.apache.hadoop.mapred.Counters.Counter; |
22 | | -import org.apache.hadoop.mapreduce.checkpoint.EnumCounter; |
23 | | - |
24 | 20 | import java.io.IOException; |
25 | 21 | import java.util.ArrayList; |
26 | 22 | import java.util.Arrays; |
27 | 23 | import java.util.List; |
28 | 24 | import java.util.concurrent.ConcurrentMap; |
29 | 25 | import java.util.concurrent.atomic.AtomicReference; |
| 26 | +import java.util.function.Supplier; |
| 27 | + |
| 28 | +import org.junit.After; |
| 29 | +import org.junit.Test; |
| 30 | +import org.junit.runner.RunWith; |
| 31 | +import org.mockito.ArgumentCaptor; |
| 32 | +import org.mockito.Captor; |
| 33 | +import org.mockito.Mock; |
| 34 | +import org.mockito.junit.MockitoJUnitRunner; |
30 | 35 |
|
31 | 36 | import org.apache.hadoop.conf.Configuration; |
32 | 37 | import org.apache.hadoop.fs.Path; |
| 38 | +import org.apache.hadoop.mapred.Counters.Counter; |
33 | 39 | import org.apache.hadoop.mapreduce.MRJobConfig; |
34 | 40 | import org.apache.hadoop.mapreduce.TaskType; |
35 | 41 | import org.apache.hadoop.mapreduce.TypeConverter; |
36 | 42 | import org.apache.hadoop.mapreduce.checkpoint.CheckpointID; |
| 43 | +import org.apache.hadoop.mapreduce.checkpoint.EnumCounter; |
37 | 44 | import org.apache.hadoop.mapreduce.checkpoint.FSCheckpointID; |
38 | 45 | import org.apache.hadoop.mapreduce.checkpoint.TaskCheckpointID; |
39 | 46 | import org.apache.hadoop.mapreduce.security.token.JobTokenSecretManager; |
|
48 | 55 | import org.apache.hadoop.mapreduce.v2.app.job.Job; |
49 | 56 | import org.apache.hadoop.mapreduce.v2.app.job.event.TaskAttemptStatusUpdateEvent; |
50 | 57 | import org.apache.hadoop.mapreduce.v2.app.job.event.TaskAttemptStatusUpdateEvent.TaskAttemptStatus; |
| 58 | +import org.apache.hadoop.mapreduce.v2.app.rm.RMHeartbeatHandler; |
51 | 59 | import org.apache.hadoop.mapreduce.v2.app.rm.preemption.AMPreemptionPolicy; |
52 | 60 | import org.apache.hadoop.mapreduce.v2.app.rm.preemption.CheckpointAMPreemptionPolicy; |
53 | | -import org.apache.hadoop.mapreduce.v2.app.rm.RMHeartbeatHandler; |
54 | 61 | import org.apache.hadoop.mapreduce.v2.util.MRBuilderUtils; |
55 | 62 | import org.apache.hadoop.test.GenericTestUtils; |
56 | 63 | import org.apache.hadoop.yarn.event.Dispatcher; |
|
60 | 67 | import org.apache.hadoop.yarn.factory.providers.RecordFactoryProvider; |
61 | 68 | import org.apache.hadoop.yarn.util.ControlledClock; |
62 | 69 | import org.apache.hadoop.yarn.util.SystemClock; |
63 | | -import org.junit.After; |
64 | | -import org.junit.Test; |
65 | | -import org.junit.runner.RunWith; |
66 | | -import org.mockito.ArgumentCaptor; |
67 | | -import org.mockito.Captor; |
68 | | -import org.mockito.Mock; |
69 | | -import org.mockito.junit.MockitoJUnitRunner; |
70 | 70 |
|
71 | 71 | import static org.assertj.core.api.Assertions.assertThat; |
72 | | -import static org.junit.Assert.*; |
73 | | -import static org.mockito.Mockito.*; |
| 72 | +import static org.junit.Assert.assertEquals; |
| 73 | +import static org.junit.Assert.assertFalse; |
| 74 | +import static org.junit.Assert.assertNotNull; |
| 75 | +import static org.junit.Assert.assertNull; |
| 76 | +import static org.junit.Assert.assertTrue; |
| 77 | +import static org.junit.Assert.fail; |
| 78 | +import static org.mockito.Mockito.any; |
| 79 | +import static org.mockito.Mockito.doReturn; |
| 80 | +import static org.mockito.Mockito.eq; |
| 81 | +import static org.mockito.Mockito.mock; |
| 82 | +import static org.mockito.Mockito.never; |
| 83 | +import static org.mockito.Mockito.times; |
| 84 | +import static org.mockito.Mockito.verify; |
| 85 | +import static org.mockito.Mockito.when; |
74 | 86 |
|
75 | 87 | /** |
76 | 88 | * Tests the behavior of TaskAttemptListenerImpl. |
@@ -403,18 +415,18 @@ public void testStatusUpdateProgress() |
403 | 415 | startListener(true); |
404 | 416 | verify(hbHandler).register(attemptId); |
405 | 417 |
|
406 | | - // make sure a ping doesn't report progress |
| 418 | + // make sure a ping does report progress |
407 | 419 | AMFeedback feedback = listener.statusUpdate(attemptID, null); |
408 | 420 | assertTrue(feedback.getTaskFound()); |
409 | | - verify(hbHandler, never()).progressing(eq(attemptId)); |
| 421 | + verify(hbHandler, times(1)).progressing(eq(attemptId)); |
410 | 422 |
|
411 | 423 | // make sure a status update does report progress |
412 | 424 | MapTaskStatus mockStatus = new MapTaskStatus(attemptID, 0.0f, 1, |
413 | 425 | TaskStatus.State.RUNNING, "", "RUNNING", "", TaskStatus.Phase.MAP, |
414 | 426 | new Counters()); |
415 | 427 | feedback = listener.statusUpdate(attemptID, mockStatus); |
416 | 428 | assertTrue(feedback.getTaskFound()); |
417 | | - verify(hbHandler).progressing(eq(attemptId)); |
| 429 | + verify(hbHandler, times(2)).progressing(eq(attemptId)); |
418 | 430 | } |
419 | 431 |
|
420 | 432 | @Test |
|
0 commit comments