/** * Parse the given attribute as a set of integer ranges * @param name the attribute name * @param defaultValue the default value if it is not set * @return a new set of ranges from the configured value */ public IntegerRanges getRange(String name, String defaultValue) { return new IntegerRanges(get(name, defaultValue)); }
public IntegerRanges(String newValue) { StringTokenizer itr = new StringTokenizer(newValue, ","); while (itr.hasMoreTokens()) { String rng = itr.nextToken().trim(); String[] parts = rng.split("-", 3); if (parts.length < 1 || parts.length > 2) { throw new IllegalArgumentException("integer range badly formed: " + rng); } Range r = new Range(); r.start = convertToInt(parts[0], 0); if (parts.length == 2) { r.end = convertToInt(parts[1], Integer.MAX_VALUE); } else { r.end = r.start; } if (r.start > r.end) { throw new IllegalArgumentException("IntegerRange from " + r.start + " to " + r.end + " is invalid"); } ranges.add(r); } }
range = conf.getRange(rangeConf, ""); if (range == null || range.isEmpty() || (address.getPort() != 0)) { socket.bind(address, backlog); } else {
).isIncluded(t.getPartition())) { File prof = TaskLog.getTaskLogFile(taskid, TaskLog.LogName.PROFILE); vargs.add(String.format(conf.getProfileParams(), prof.toString()));
).isIncluded(t.getPartition())) { File prof = TaskLog.getTaskLogFile(taskid, TaskLog.LogName.PROFILE); vargs.add(String.format(conf.getProfileParams(), prof.toString()));
if (ranges != null && !ranges.isEmpty()) { startPort = ranges.getRangeStart(); builder.setPortRanges(ranges);
status == TaskCompletionEvent.Status.FAILED) && (event.isMap ? mapRanges : reduceRanges). isIncluded(event.idWithinJob())) { downloadProfile(event);
status == TaskCompletionEvent.Status.FAILED) && (event.isMap ? mapRanges : reduceRanges). isIncluded(event.idWithinJob())) { downloadProfile(event);
).isIncluded(t.getPartition())) { File prof = TaskLog.getTaskLogFile(taskid, t.isTaskCleanupTask(), TaskLog.LogName.PROFILE);
).isIncluded(task.getPartition())) { final String profileParams = conf.get(task.isMapTask() ? MRJobConfig.TASK_MAP_PROFILE_PARAMS
).isIncluded(task.getPartition())) { final String profileParams = conf.get(task.isMapTask() ? MRJobConfig.TASK_MAP_PROFILE_PARAMS
).isIncluded(task.getPartition())) { final String profileParams = conf.get(task.isMapTask() ? MRJobConfig.TASK_MAP_PROFILE_PARAMS
status == TaskCompletionEvent.Status.FAILED) && (event.isMapTask() ? mapRanges : reduceRanges). isIncluded(event.idWithinJob())) { downloadProfile(event);
range = conf.getRange(rangeConf, ""); if (range == null || range.isEmpty() || (address.getPort() != 0)) { socket.bind(address, backlog); } else {
range = conf.getRange(rangeConf, ""); if (range == null || range.isEmpty() || (address.getPort() != 0)) { socket.bind(address, backlog); } else {
Configuration.IntegerRanges range = conf.getRange("first", null); System.out.println("first = " + range); assertEquals(true, range.isIncluded(0)); assertEquals(true, range.isIncluded(1)); assertEquals(true, range.isIncluded(100)); assertEquals(false, range.isIncluded(101)); range = conf.getRange("second", null); System.out.println("second = " + range); assertEquals(false, range.isIncluded(3)); assertEquals(true, range.isIncluded(4)); assertEquals(true, range.isIncluded(6)); assertEquals(false, range.isIncluded(7)); assertEquals(false, range.isIncluded(8)); assertEquals(true, range.isIncluded(9)); assertEquals(true, range.isIncluded(10)); assertEquals(false, range.isIncluded(11)); assertEquals(false, range.isIncluded(26)); assertEquals(true, range.isIncluded(27)); assertEquals(false, range.isIncluded(28)); range = conf.getRange("third", null); System.out.println("third = " + range); assertEquals(false, range.isIncluded(33)); assertEquals(true, range.isIncluded(34)); assertEquals(true, range.isIncluded(100000000));
range = conf.getRange(rangeConf, ""); if (range == null || range.isEmpty() || (address.getPort() != 0)) { socket.bind(address, backlog); } else {
public void testIntegerRanges() { Configuration conf = new Configuration(); conf.set("first", "-100"); conf.set("second", "4-6,9-10,27"); conf.set("third", "34-"); Configuration.IntegerRanges range = conf.getRange("first", null); System.out.println("first = " + range); assertEquals(true, range.isIncluded(0)); assertEquals(true, range.isIncluded(1)); assertEquals(true, range.isIncluded(100)); assertEquals(false, range.isIncluded(101)); range = conf.getRange("second", null); System.out.println("second = " + range); assertEquals(false, range.isIncluded(3)); assertEquals(true, range.isIncluded(4)); assertEquals(true, range.isIncluded(6)); assertEquals(false, range.isIncluded(7)); assertEquals(false, range.isIncluded(8)); assertEquals(true, range.isIncluded(9)); assertEquals(true, range.isIncluded(10)); assertEquals(false, range.isIncluded(11)); assertEquals(false, range.isIncluded(26)); assertEquals(true, range.isIncluded(27)); assertEquals(false, range.isIncluded(28)); range = conf.getRange("third", null); System.out.println("third = " + range); assertEquals(false, range.isIncluded(33)); assertEquals(true, range.isIncluded(34)); assertEquals(true, range.isIncluded(100000000)); }
public void testGetRangeIterator() throws Exception { Configuration config = new Configuration(false); IntegerRanges ranges = config.getRange("Test", ""); assertFalse("Empty range has values", ranges.iterator().hasNext()); ranges = config.getRange("Test", "5"); Set<Integer> expected = new HashSet<Integer>(Arrays.asList(5)); Set<Integer> found = new HashSet<Integer>(); for(Integer i: ranges) { found.add(i); } assertEquals(expected, found); ranges = config.getRange("Test", "5-10,13-14"); expected = new HashSet<Integer>(Arrays.asList(5,6,7,8,9,10,13,14)); found = new HashSet<Integer>(); for(Integer i: ranges) { found.add(i); } assertEquals(expected, found); ranges = config.getRange("Test", "8-12, 5- 7"); expected = new HashSet<Integer>(Arrays.asList(5,6,7,8,9,10,11,12)); found = new HashSet<Integer>(); for(Integer i: ranges) { found.add(i); } assertEquals(expected, found); }
public void testGetRangeIterator() throws Exception { Configuration config = new Configuration(false); IntegerRanges ranges = config.getRange("Test", ""); assertFalse("Empty range has values", ranges.iterator().hasNext()); ranges = config.getRange("Test", "5"); Set<Integer> expected = new HashSet<Integer>(Arrays.asList(5)); Set<Integer> found = new HashSet<Integer>(); for(Integer i: ranges) { found.add(i); } assertEquals(expected, found); ranges = config.getRange("Test", "5-10,13-14"); expected = new HashSet<Integer>(Arrays.asList(5,6,7,8,9,10,13,14)); found = new HashSet<Integer>(); for(Integer i: ranges) { found.add(i); } assertEquals(expected, found); ranges = config.getRange("Test", "8-12, 5- 7"); expected = new HashSet<Integer>(Arrays.asList(5,6,7,8,9,10,11,12)); found = new HashSet<Integer>(); for(Integer i: ranges) { found.add(i); } assertEquals(expected, found); }