Repository: tez Updated Branches: refs/heads/branch-0.7 e6488d936 -> ad303a06d
TEZ-2904. Pig can't specify task specific command opts (jeagles) (cherry picked from commit 70096c1690cb89b041c91fb5829bab6de23f9766) Project: http://git-wip-us.apache.org/repos/asf/tez/repo Commit: http://git-wip-us.apache.org/repos/asf/tez/commit/ad303a06 Tree: http://git-wip-us.apache.org/repos/asf/tez/tree/ad303a06 Diff: http://git-wip-us.apache.org/repos/asf/tez/diff/ad303a06 Branch: refs/heads/branch-0.7 Commit: ad303a06d1b1f5bdf860a785334e05f9e0721d86 Parents: e6488d9 Author: Jonathan Eagles <[email protected]> Authored: Wed Oct 28 13:18:02 2015 -0500 Committer: Jonathan Eagles <[email protected]> Committed: Wed Oct 28 13:20:12 2015 -0500 ---------------------------------------------------------------------- CHANGES.txt | 1 + .../apache/tez/dag/utils/TaskSpecificLaunchCmdOption.java | 8 ++++---- .../tez/dag/utils/TestTaskSpecificLaunchCmdOption.java | 7 +++++++ 3 files changed, 12 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tez/blob/ad303a06/CHANGES.txt ---------------------------------------------------------------------- diff --git a/CHANGES.txt b/CHANGES.txt index 23c8061..33699ec 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -6,6 +6,7 @@ Release 0.7.1: Unreleased INCOMPATIBLE CHANGES ALL CHANGES + TEZ-2904. Pig can't specify task specific command opts TEZ-2899. Tez UI: DAG getting created with huge horizontal gap in between vertices TEZ-2882. Consider improving fetch failure handling TEZ-2907. NPE in IFile.Reader.getLength during final merge operation http://git-wip-us.apache.org/repos/asf/tez/blob/ad303a06/tez-dag/src/main/java/org/apache/tez/dag/utils/TaskSpecificLaunchCmdOption.java ---------------------------------------------------------------------- diff --git a/tez-dag/src/main/java/org/apache/tez/dag/utils/TaskSpecificLaunchCmdOption.java b/tez-dag/src/main/java/org/apache/tez/dag/utils/TaskSpecificLaunchCmdOption.java index 1ec276d..7d93481 100644 --- a/tez-dag/src/main/java/org/apache/tez/dag/utils/TaskSpecificLaunchCmdOption.java +++ b/tez-dag/src/main/java/org/apache/tez/dag/utils/TaskSpecificLaunchCmdOption.java @@ -40,17 +40,17 @@ import com.google.common.base.Strings; public class TaskSpecificLaunchCmdOption { private static final Logger LOG = LoggerFactory.getLogger(TaskSpecificLaunchCmdOption.class); - //To check any characters apart from "a-zA-Z_0-9 : ; , [] space" anywhere in input. + //To check any characters apart from "a-zA-Z_0-9 : ; , [] - space" anywhere in input. final static Pattern INVALID_TASK_NAME_REGEX = Pattern - .compile("[^(\\w\\s;:,\\[\\])]"); + .compile("[^(\\w\\s;:,\\[\\]\\-)]"); /** - * Regex to validate the task ranges. Vertex name can only have [a-zA-Z_0-9] and + * Regex to validate the task ranges. Vertex name can only have [a-zA-Z_0-9], -, and * space. Task id is expected to be a number. : is used for specifying task id range. , is used * as task id separator. */ final static Pattern TASKS_REGEX = Pattern - .compile("([\\w\\s]+)\\[([\\d:,\\s]*)\\];?"); + .compile("([\\w\\s\\-]+)\\[([\\d:,\\s]*)\\];?"); //Range regex where ':' should always be prepended and appended with digit. final static Pattern RANGE_REGEX = Pattern.compile("(\\d+):(\\d+)"); http://git-wip-us.apache.org/repos/asf/tez/blob/ad303a06/tez-dag/src/test/java/org/apache/tez/dag/utils/TestTaskSpecificLaunchCmdOption.java ---------------------------------------------------------------------- diff --git a/tez-dag/src/test/java/org/apache/tez/dag/utils/TestTaskSpecificLaunchCmdOption.java b/tez-dag/src/test/java/org/apache/tez/dag/utils/TestTaskSpecificLaunchCmdOption.java index f22eed6..5685a97 100644 --- a/tez-dag/src/test/java/org/apache/tez/dag/utils/TestTaskSpecificLaunchCmdOption.java +++ b/tez-dag/src/test/java/org/apache/tez/dag/utils/TestTaskSpecificLaunchCmdOption.java @@ -49,6 +49,13 @@ public class TestTaskSpecificLaunchCmdOption { TaskSpecificLaunchCmdOption option = getOptions(conf, ""); assertFalse(option.addTaskSpecificLaunchCmdOption("v", 0)); + option = getOptions(conf, "v-10[0,1,2]"); + assertTrue(option.addTaskSpecificLaunchCmdOption("v-10", 0)); + assertTrue(option.addTaskSpecificLaunchCmdOption("v-10", 1)); + assertTrue(option.addTaskSpecificLaunchCmdOption("v-10", 2)); + assertFalse(option.addTaskSpecificLaunchCmdOption("v-10", + rnd.nextInt(Integer.MAX_VALUE))); + option = getOptions(conf, "v[0,1,2]"); assertTrue(option.addTaskSpecificLaunchCmdOption("v", 0)); assertTrue(option.addTaskSpecificLaunchCmdOption("v", 1));
