1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.giraph;
20
21 import org.apache.giraph.conf.GiraphConfiguration;
22 import org.apache.giraph.examples.SimpleCheckpoint;
23 import org.apache.giraph.examples.SimpleSuperstepComputation.SimpleSuperstepVertexInputFormat;
24 import org.apache.giraph.examples.SimpleSuperstepComputation.SimpleSuperstepVertexOutputFormat;
25 import org.apache.giraph.job.GiraphJob;
26 import org.apache.hadoop.fs.Path;
27 import org.junit.Test;
28
29 import java.io.IOException;
30
31 import static org.junit.Assert.assertFalse;
32
33
34
35
36 public class TestNotEnoughMapTasks extends BspCase {
37
38 public TestNotEnoughMapTasks() {
39 super(TestNotEnoughMapTasks.class.getName());
40 }
41
42
43
44
45
46
47
48
49 @Test
50 public void testNotEnoughMapTasks()
51 throws IOException, InterruptedException, ClassNotFoundException {
52 if (!runningInDistributedMode()) {
53 System.out.println(
54 "testNotEnoughMapTasks: Ignore this test in local mode.");
55 return;
56 }
57 Path outputPath = getTempPath(getCallingMethodName());
58 GiraphConfiguration conf = new GiraphConfiguration();
59 conf.setComputationClass(
60 SimpleCheckpoint.SimpleCheckpointComputation.class);
61 conf.setVertexInputFormatClass(SimpleSuperstepVertexInputFormat.class);
62 conf.setVertexOutputFormatClass(SimpleSuperstepVertexOutputFormat.class);
63 GiraphJob job = prepareJob(getCallingMethodName(), conf, outputPath);
64
65
66 final int unlikelyWorkers = Short.MAX_VALUE;
67 job.getConfiguration().setWorkerConfiguration(unlikelyWorkers,
68 unlikelyWorkers,
69 100.0f);
70
71 job.getConfiguration().setMaxMasterSuperstepWaitMsecs(1000);
72 job.getConfiguration().setEventWaitMsecs(1000);
73 assertFalse(job.run(false));
74 }
75 }