diff --git ql/src/java/org/apache/hadoop/hive/ql/wm/Action.java ql/src/java/org/apache/hadoop/hive/ql/wm/Action.java index 7258ad5302..1e544498b7 100644 --- ql/src/java/org/apache/hadoop/hive/ql/wm/Action.java +++ ql/src/java/org/apache/hadoop/hive/ql/wm/Action.java @@ -79,7 +79,7 @@ public static Action fromMetastoreExpression(String metastoreActionExpression) { Tree poolNode = node.getChild(0); StringBuilder poolPath = new StringBuilder(poolNode.getText()); for (int i = 0; i < poolNode.getChildCount(); ++i) { - poolPath.append(poolNode.getChild(0).getText()); + poolPath.append(poolNode.getChild(i).getText()); } return new Action(Type.MOVE_TO_POOL, poolPath.toString()); } diff --git ql/src/test/org/apache/hadoop/hive/ql/wm/TestTrigger.java ql/src/test/org/apache/hadoop/hive/ql/wm/TestTrigger.java index a3e8336d9f..bf4c79abff 100644 --- ql/src/test/org/apache/hadoop/hive/ql/wm/TestTrigger.java +++ ql/src/test/org/apache/hadoop/hive/ql/wm/TestTrigger.java @@ -293,6 +293,8 @@ public void testIllegalTimeCounterValue2() { public void testActionFromMetastoreStr() { assertEquals(Action.Type.KILL_QUERY, Action.fromMetastoreExpression("KILL").getType()); assertEquals(Action.Type.MOVE_TO_POOL, Action.fromMetastoreExpression("MOVE TO bi").getType()); + assertEquals("bi", Action.fromMetastoreExpression("MOVE TO bi").getPoolName()); + assertEquals("bi.c1.c2", Action.fromMetastoreExpression("MOVE TO bi.c1.c2").getPoolName()); assertEquals("MOVE TO etl", Action.fromMetastoreExpression("MOVE TO etl").toString()); thrown.expect(IllegalArgumentException.class);