Repository: hive Updated Branches: refs/heads/master 624bfa61f -> b6760b017
HIVE-18134 : some alter resource plan fixes (Sergey Shelukhin, reviewed by Prasanth Jayachandran and Harish Jaiprakash) Project: http://git-wip-us.apache.org/repos/asf/hive/repo Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/3500196b Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/3500196b Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/3500196b Branch: refs/heads/master Commit: 3500196b92e07331c3c8309b81ab9d8342bcd767 Parents: 624bfa6 Author: sergey <ser...@apache.org> Authored: Wed Nov 29 12:15:56 2017 -0800 Committer: sergey <ser...@apache.org> Committed: Wed Nov 29 12:15:56 2017 -0800 ---------------------------------------------------------------------- .../test/queries/clientpositive/resourceplan.q | 9 ++ .../clientpositive/llap/resourceplan.q.out | 110 +++++++++++-------- .../hadoop/hive/metastore/ObjectStore.java | 10 +- 3 files changed, 83 insertions(+), 46 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hive/blob/3500196b/ql/src/test/queries/clientpositive/resourceplan.q ---------------------------------------------------------------------- diff --git a/ql/src/test/queries/clientpositive/resourceplan.q b/ql/src/test/queries/clientpositive/resourceplan.q index afb9ceb..beaf8db 100644 --- a/ql/src/test/queries/clientpositive/resourceplan.q +++ b/ql/src/test/queries/clientpositive/resourceplan.q @@ -10,6 +10,8 @@ show grant user hive_test_user; -- Initialize the hive schema. source ../../metastore/scripts/upgrade/hive/hive-schema-3.0.0.hive.sql; +-- SORT_QUERY_RESULTS + -- -- Actual tests. -- @@ -53,6 +55,13 @@ SELECT * FROM SYS.WM_RESOURCEPLANS; ALTER RESOURCE PLAN plan_3 SET QUERY_PARALLELISM = 30, DEFAULT POOL = default1; SELECT * FROM SYS.WM_RESOURCEPLANS; +-- Shouldn't be able to rename or modify an enabled plan. +ALTER RESOURCE PLAN plan_3 ENABLE; +ALTER RESOURCE PLAN plan_3 RENAME TO plan_4; +ALTER RESOURCE PLAN plan_3 SET QUERY_PARALLELISM = 30; +ALTER RESOURCE PLAN plan_3 DISABLE; +SELECT * FROM SYS.WM_RESOURCEPLANS; + -- -- Activate, enable, disable. -- http://git-wip-us.apache.org/repos/asf/hive/blob/3500196b/ql/src/test/results/clientpositive/llap/resourceplan.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/llap/resourceplan.q.out b/ql/src/test/results/clientpositive/llap/resourceplan.q.out index a761747..3a3f5b9 100644 --- a/ql/src/test/results/clientpositive/llap/resourceplan.q.out +++ b/ql/src/test/results/clientpositive/llap/resourceplan.q.out @@ -3203,8 +3203,8 @@ POSTHOOK: query: SELECT * FROM SYS.WM_RESOURCEPLANS POSTHOOK: type: QUERY POSTHOOK: Input: sys@wm_resourceplans #### A masked pattern was here #### -plan_3 DISABLED NULL default plan_2 DISABLED 10 default +plan_3 DISABLED NULL default PREHOOK: query: ALTER RESOURCE PLAN plan_3 SET QUERY_PARALLELISM = 20 PREHOOK: type: ALTER RESOURCEPLAN POSTHOOK: query: ALTER RESOURCE PLAN plan_3 SET QUERY_PARALLELISM = 20 @@ -3217,8 +3217,8 @@ POSTHOOK: query: SELECT * FROM SYS.WM_RESOURCEPLANS POSTHOOK: type: QUERY POSTHOOK: Input: sys@wm_resourceplans #### A masked pattern was here #### -plan_3 DISABLED 20 default plan_2 DISABLED 10 default +plan_3 DISABLED 20 default PREHOOK: query: ALTER RESOURCE PLAN plan_3 SET QUERY_PARALLELISM = 30, DEFAULT POOL = default1 PREHOOK: type: ALTER RESOURCEPLAN FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. NoSuchObjectException(message:Cannot find pool: default1) @@ -3230,8 +3230,32 @@ POSTHOOK: query: SELECT * FROM SYS.WM_RESOURCEPLANS POSTHOOK: type: QUERY POSTHOOK: Input: sys@wm_resourceplans #### A masked pattern was here #### +plan_2 DISABLED 10 default plan_3 DISABLED 20 default +PREHOOK: query: ALTER RESOURCE PLAN plan_3 ENABLE +PREHOOK: type: ALTER RESOURCEPLAN +POSTHOOK: query: ALTER RESOURCE PLAN plan_3 ENABLE +POSTHOOK: type: ALTER RESOURCEPLAN +PREHOOK: query: ALTER RESOURCE PLAN plan_3 RENAME TO plan_4 +PREHOOK: type: ALTER RESOURCEPLAN +FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. InvalidOperationException(message:Resource plan must be disabled to edit it.) +PREHOOK: query: ALTER RESOURCE PLAN plan_3 SET QUERY_PARALLELISM = 30 +PREHOOK: type: ALTER RESOURCEPLAN +FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. InvalidOperationException(message:Resource plan must be disabled to edit it.) +PREHOOK: query: ALTER RESOURCE PLAN plan_3 DISABLE +PREHOOK: type: ALTER RESOURCEPLAN +POSTHOOK: query: ALTER RESOURCE PLAN plan_3 DISABLE +POSTHOOK: type: ALTER RESOURCEPLAN +PREHOOK: query: SELECT * FROM SYS.WM_RESOURCEPLANS +PREHOOK: type: QUERY +PREHOOK: Input: sys@wm_resourceplans +#### A masked pattern was here #### +POSTHOOK: query: SELECT * FROM SYS.WM_RESOURCEPLANS +POSTHOOK: type: QUERY +POSTHOOK: Input: sys@wm_resourceplans +#### A masked pattern was here #### plan_2 DISABLED 10 default +plan_3 DISABLED 20 default PREHOOK: query: ALTER RESOURCE PLAN plan_3 ACTIVATE PREHOOK: type: ALTER RESOURCEPLAN FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. InvalidOperationException(message:Resource plan plan_3 is disabled and should be enabled before activation (or in the same command)) @@ -3243,8 +3267,8 @@ POSTHOOK: query: SELECT * FROM SYS.WM_RESOURCEPLANS POSTHOOK: type: QUERY POSTHOOK: Input: sys@wm_resourceplans #### A masked pattern was here #### -plan_3 DISABLED 20 default plan_2 DISABLED 10 default +plan_3 DISABLED 20 default PREHOOK: query: ALTER RESOURCE PLAN plan_3 DISABLE PREHOOK: type: ALTER RESOURCEPLAN POSTHOOK: query: ALTER RESOURCE PLAN plan_3 DISABLE @@ -3257,8 +3281,8 @@ POSTHOOK: query: SELECT * FROM SYS.WM_RESOURCEPLANS POSTHOOK: type: QUERY POSTHOOK: Input: sys@wm_resourceplans #### A masked pattern was here #### -plan_3 DISABLED 20 default plan_2 DISABLED 10 default +plan_3 DISABLED 20 default PREHOOK: query: ALTER RESOURCE PLAN plan_3 ENABLE PREHOOK: type: ALTER RESOURCEPLAN POSTHOOK: query: ALTER RESOURCE PLAN plan_3 ENABLE @@ -3271,8 +3295,8 @@ POSTHOOK: query: SELECT * FROM SYS.WM_RESOURCEPLANS POSTHOOK: type: QUERY POSTHOOK: Input: sys@wm_resourceplans #### A masked pattern was here #### -plan_3 ENABLED 20 default plan_2 DISABLED 10 default +plan_3 ENABLED 20 default PREHOOK: query: ALTER RESOURCE PLAN plan_3 ACTIVATE PREHOOK: type: ALTER RESOURCEPLAN POSTHOOK: query: ALTER RESOURCE PLAN plan_3 ACTIVATE @@ -3285,8 +3309,8 @@ POSTHOOK: query: SELECT * FROM SYS.WM_RESOURCEPLANS POSTHOOK: type: QUERY POSTHOOK: Input: sys@wm_resourceplans #### A masked pattern was here #### -plan_3 ACTIVE 20 default plan_2 DISABLED 10 default +plan_3 ACTIVE 20 default PREHOOK: query: ALTER RESOURCE PLAN plan_3 ACTIVATE PREHOOK: type: ALTER RESOURCEPLAN POSTHOOK: query: ALTER RESOURCE PLAN plan_3 ACTIVATE @@ -3299,8 +3323,8 @@ POSTHOOK: query: SELECT * FROM SYS.WM_RESOURCEPLANS POSTHOOK: type: QUERY POSTHOOK: Input: sys@wm_resourceplans #### A masked pattern was here #### -plan_3 ACTIVE 20 default plan_2 DISABLED 10 default +plan_3 ACTIVE 20 default PREHOOK: query: ALTER RESOURCE PLAN plan_3 ENABLE PREHOOK: type: ALTER RESOURCEPLAN FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. InvalidOperationException(message:Resource plan plan_3 is active, activate another plan first.) @@ -3312,8 +3336,8 @@ POSTHOOK: query: SELECT * FROM SYS.WM_RESOURCEPLANS POSTHOOK: type: QUERY POSTHOOK: Input: sys@wm_resourceplans #### A masked pattern was here #### -plan_3 ACTIVE 20 default plan_2 DISABLED 10 default +plan_3 ACTIVE 20 default PREHOOK: query: ALTER RESOURCE PLAN plan_3 DISABLE PREHOOK: type: ALTER RESOURCEPLAN FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. InvalidOperationException(message:Resource plan plan_3 is active, activate another plan first.) @@ -3325,8 +3349,8 @@ POSTHOOK: query: SELECT * FROM SYS.WM_RESOURCEPLANS POSTHOOK: type: QUERY POSTHOOK: Input: sys@wm_resourceplans #### A masked pattern was here #### -plan_3 ACTIVE 20 default plan_2 DISABLED 10 default +plan_3 ACTIVE 20 default PREHOOK: query: ALTER RESOURCE PLAN plan_2 ENABLE PREHOOK: type: ALTER RESOURCEPLAN POSTHOOK: query: ALTER RESOURCE PLAN plan_2 ENABLE @@ -3339,8 +3363,8 @@ POSTHOOK: query: SELECT * FROM SYS.WM_RESOURCEPLANS POSTHOOK: type: QUERY POSTHOOK: Input: sys@wm_resourceplans #### A masked pattern was here #### -plan_3 ACTIVE 20 default plan_2 ENABLED 10 default +plan_3 ACTIVE 20 default PREHOOK: query: ALTER RESOURCE PLAN plan_2 ACTIVATE PREHOOK: type: ALTER RESOURCEPLAN POSTHOOK: query: ALTER RESOURCE PLAN plan_2 ACTIVATE @@ -3353,8 +3377,8 @@ POSTHOOK: query: SELECT * FROM SYS.WM_RESOURCEPLANS POSTHOOK: type: QUERY POSTHOOK: Input: sys@wm_resourceplans #### A masked pattern was here #### -plan_3 ENABLED 20 default plan_2 ACTIVE 10 default +plan_3 ENABLED 20 default PREHOOK: query: ALTER RESOURCE PLAN plan_3 ENABLE PREHOOK: type: ALTER RESOURCEPLAN POSTHOOK: query: ALTER RESOURCE PLAN plan_3 ENABLE @@ -3367,8 +3391,8 @@ POSTHOOK: query: SELECT * FROM SYS.WM_RESOURCEPLANS POSTHOOK: type: QUERY POSTHOOK: Input: sys@wm_resourceplans #### A masked pattern was here #### -plan_3 ENABLED 20 default plan_2 ACTIVE 10 default +plan_3 ENABLED 20 default PREHOOK: query: ALTER RESOURCE PLAN plan_3 DISABLE PREHOOK: type: ALTER RESOURCEPLAN POSTHOOK: query: ALTER RESOURCE PLAN plan_3 DISABLE @@ -3381,8 +3405,8 @@ POSTHOOK: query: SELECT * FROM SYS.WM_RESOURCEPLANS POSTHOOK: type: QUERY POSTHOOK: Input: sys@wm_resourceplans #### A masked pattern was here #### -plan_3 DISABLED 20 default plan_2 ACTIVE 10 default +plan_3 DISABLED 20 default PREHOOK: query: DROP RESOURCE PLAN plan_2 PREHOOK: type: DROP RESOURCEPLAN FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:Cannot drop an active resource plan) @@ -3510,9 +3534,9 @@ POSTHOOK: type: QUERY POSTHOOK: Input: sys@wm_triggers #### A masked pattern was here #### plan_1 trigger_2 BYTES_READ > 100 MOVE TO slow_pool +table database BYTES_WRITTEN > 1M MOVE TO default table table BYTES_WRITTEN > 100K MOVE TO table table trigger BYTES_WRITTEN > 100K MOVE TO default -table database BYTES_WRITTEN > 1M MOVE TO default table trigger1 ELAPSED_TIME > 10 KILL table trigger2 BYTES_READ > 100 KILL PREHOOK: query: DROP TRIGGER `table`.`database` @@ -3544,9 +3568,9 @@ POSTHOOK: query: SELECT * FROM SYS.WM_RESOURCEPLANS POSTHOOK: type: QUERY POSTHOOK: Input: sys@wm_resourceplans #### A masked pattern was here #### +plan_1 ENABLED NULL default plan_2 ACTIVE 10 default table DISABLED 1 default -plan_1 ENABLED NULL default PREHOOK: query: DROP TRIGGER plan_1.trigger_2 PREHOOK: type: DROP TRIGGER FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. InvalidOperationException(message:Resource plan must be disabled to edit it.) @@ -3565,9 +3589,9 @@ POSTHOOK: query: SELECT * FROM SYS.WM_RESOURCEPLANS POSTHOOK: type: QUERY POSTHOOK: Input: sys@wm_resourceplans #### A masked pattern was here #### +plan_1 ACTIVE NULL default plan_2 ENABLED 10 default table DISABLED 1 default -plan_1 ACTIVE NULL default PREHOOK: query: DROP TRIGGER plan_1.trigger_2 PREHOOK: type: DROP TRIGGER FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. InvalidOperationException(message:Resource plan must be disabled to edit it.) @@ -3591,11 +3615,11 @@ POSTHOOK: type: QUERY POSTHOOK: Input: sys@wm_triggers #### A masked pattern was here #### plan_1 trigger_2 BYTES_READ > 100 MOVE TO slow_pool +plan_2 trigger_1 BYTES_READ = 0 MOVE TO null_pool table table BYTES_WRITTEN > 100K MOVE TO table table trigger BYTES_WRITTEN > 100K MOVE TO default table trigger1 ELAPSED_TIME > 10 KILL table trigger2 BYTES_READ > 100 KILL -plan_2 trigger_1 BYTES_READ = 0 MOVE TO null_pool PREHOOK: query: CREATE POOL plan_1.default WITH ALLOC_FRACTION=1.0, QUERY_PARALLELISM=5, SCHEDULING_POLICY='default' PREHOOK: type: CREATE POOL @@ -3612,9 +3636,9 @@ POSTHOOK: query: SELECT * FROM SYS.WM_POOLS POSTHOOK: type: QUERY POSTHOOK: Input: sys@wm_pools #### A masked pattern was here #### +plan_1 default 1.0 4 NULL plan_2 default 1.0 4 NULL table default 1.0 4 NULL -plan_1 default 1.0 4 NULL PREHOOK: query: CREATE POOL plan_2.default.c1 WITH ALLOC_FRACTION=0.3, QUERY_PARALLELISM=3, SCHEDULING_POLICY='priority' PREHOOK: type: CREATE POOL @@ -3643,11 +3667,11 @@ POSTHOOK: query: SELECT * FROM SYS.WM_POOLS POSTHOOK: type: QUERY POSTHOOK: Input: sys@wm_pools #### A masked pattern was here #### -plan_2 def 1.0 4 NULL -table default 1.0 4 NULL plan_1 default 1.0 4 NULL +plan_2 def 1.0 4 NULL plan_2 def.c1 0.3 3 priority plan_2 def.c2 0.2 2 fair +table default 1.0 4 NULL PREHOOK: query: DROP POOL plan_2.default PREHOOK: type: DROP POOL FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. NoSuchObjectException(message:Cannot delete pool: default) @@ -3659,11 +3683,11 @@ POSTHOOK: query: SELECT * FROM SYS.WM_POOLS POSTHOOK: type: QUERY POSTHOOK: Input: sys@wm_pools #### A masked pattern was here #### -plan_2 def 1.0 4 NULL -table default 1.0 4 NULL plan_1 default 1.0 4 NULL +plan_2 def 1.0 4 NULL plan_2 def.c1 0.3 3 priority plan_2 def.c2 0.2 2 fair +table default 1.0 4 NULL PREHOOK: query: CREATE POOL plan_2.child1.child2 WITH QUERY_PARALLELISM=2, SCHEDULING_POLICY='fcfs', ALLOC_FRACTION=0.8 PREHOOK: type: CREATE POOL @@ -3704,11 +3728,11 @@ POSTHOOK: query: SELECT * FROM SYS.WM_POOLS POSTHOOK: type: QUERY POSTHOOK: Input: sys@wm_pools #### A masked pattern was here #### -plan_2 def 1.0 4 NULL -table default 1.0 4 NULL plan_1 default 1.0 4 NULL +plan_2 def 1.0 4 NULL plan_2 def.c1 0.3 3 priority plan_2 def.c2 0.2 2 fair +table default 1.0 4 NULL table table 0.0 1 random table table.pool1 0.9 3 priority table table.pool1.child1 0.3 1 random @@ -3725,11 +3749,11 @@ POSTHOOK: query: SELECT * FROM SYS.WM_POOLS POSTHOOK: type: QUERY POSTHOOK: Input: sys@wm_pools #### A masked pattern was here #### -plan_2 def 1.0 4 NULL -table default 1.0 4 NULL plan_1 default 1.0 4 NULL +plan_2 def 1.0 4 NULL plan_2 def.c1 0.3 3 priority plan_2 def.c2 0.2 2 fair +table default 1.0 4 NULL table table 0.0 1 random table table.pool 0.9 3 priority table table.pool.child1 0.3 1 random @@ -3745,11 +3769,11 @@ POSTHOOK: query: SELECT * FROM SYS.WM_POOLS POSTHOOK: type: QUERY POSTHOOK: Input: sys@wm_pools #### A masked pattern was here #### -plan_2 def 1.0 4 NULL -table default 1.0 4 NULL plan_1 default 1.0 4 NULL +plan_2 def 1.0 4 NULL plan_2 def.c1 0.3 3 priority plan_2 def.c2 0.2 2 fair +table default 1.0 4 NULL table table 0.0 1 random table table.pool 0.9 3 priority table table.pool.child1 0.3 1 random @@ -3765,11 +3789,11 @@ POSTHOOK: query: SELECT * FROM SYS.WM_POOLS POSTHOOK: type: QUERY POSTHOOK: Input: sys@wm_pools #### A masked pattern was here #### -plan_2 def 1.0 4 NULL -table default 1.0 4 NULL plan_1 default 1.0 4 NULL +plan_2 def 1.0 4 NULL plan_2 def.c1 0.3 3 priority plan_2 def.c2 0.2 2 fair +table default 1.0 4 NULL table table 0.0 1 random table table.pool 0.9 3 priority table table.pool.child1 0.3 1 random @@ -3782,9 +3806,9 @@ POSTHOOK: query: SELECT * FROM SYS.WM_RESOURCEPLANS POSTHOOK: type: QUERY POSTHOOK: Input: sys@wm_resourceplans #### A masked pattern was here #### +plan_1 ACTIVE NULL default plan_2 DISABLED 10 def table DISABLED 1 default -plan_1 ACTIVE NULL default PREHOOK: query: ALTER RESOURCE PLAN `table` SET DEFAULT POOL = `table`.pool PREHOOK: type: ALTER RESOURCEPLAN POSTHOOK: query: ALTER RESOURCE PLAN `table` SET DEFAULT POOL = `table`.pool @@ -3801,8 +3825,8 @@ POSTHOOK: query: SELECT * FROM SYS.WM_POOLS POSTHOOK: type: QUERY POSTHOOK: Input: sys@wm_pools #### A masked pattern was here #### -plan_2 def 1.0 4 NULL plan_1 default 1.0 4 NULL +plan_2 def 1.0 4 NULL plan_2 def.c1 0.3 3 priority plan_2 def.c2 0.2 2 fair table table 0.0 1 random @@ -3845,13 +3869,13 @@ POSTHOOK: query: SELECT * FROM SYS.WM_POOLS_TO_TRIGGERS POSTHOOK: type: QUERY POSTHOOK: Input: sys@wm_pools_to_triggers #### A masked pattern was here #### +plan_2 def.c1 trigger_1 +plan_2 def.c2 trigger_1 table table table table table.pool.child1 table table table.pool.child1 trigger1 table table.pool.child2 trigger1 table table.pool.child2 trigger2 -plan_2 def.c1 trigger_1 -plan_2 def.c2 trigger_1 PREHOOK: query: ALTER POOL plan_2.default ADD TRIGGER trigger_1 PREHOOK: type: ALTER POOL FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. NoSuchObjectException(message:Cannot find pool: default) @@ -3866,13 +3890,13 @@ POSTHOOK: query: SELECT * FROM SYS.WM_POOLS_TO_TRIGGERS POSTHOOK: type: QUERY POSTHOOK: Input: sys@wm_pools_to_triggers #### A masked pattern was here #### +plan_2 def.c1 trigger_1 +plan_2 def.c2 trigger_1 table table table table table.pool.child1 table table table.pool.child1 trigger1 table table.pool.child2 trigger1 table table.pool.child2 trigger2 -plan_2 def.c1 trigger_1 -plan_2 def.c2 trigger_1 PREHOOK: query: ALTER POOL plan_2.def.c1 DROP TRIGGER trigger_1 PREHOOK: type: ALTER POOL POSTHOOK: query: ALTER POOL plan_2.def.c1 DROP TRIGGER trigger_1 @@ -3896,8 +3920,8 @@ POSTHOOK: query: SELECT * FROM SYS.WM_POOLS_TO_TRIGGERS POSTHOOK: type: QUERY POSTHOOK: Input: sys@wm_pools_to_triggers #### A masked pattern was here #### -table table table plan_2 def.c2 trigger_1 +table table table PREHOOK: query: CREATE USER MAPPING "user1" IN plan_2 TO def PREHOOK: type: CREATE MAPPING POSTHOOK: query: CREATE USER MAPPING "user1" IN plan_2 TO def @@ -3922,10 +3946,10 @@ POSTHOOK: query: SELECT * FROM SYS.WM_MAPPINGS POSTHOOK: type: QUERY POSTHOOK: Input: sys@wm_mappings #### A masked pattern was here #### -plan_2 USER user1 def 0 -plan_2 USER user2 def 1 plan_2 GROUP group1 def.c1 0 plan_2 GROUP group2 def.c2 1 +plan_2 USER user1 def 0 +plan_2 USER user2 def 1 PREHOOK: query: DROP POOL plan_2.def.c1 PREHOOK: type: DROP POOL FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:Exception thrown flushing changes to datastore) @@ -3945,8 +3969,8 @@ POSTHOOK: query: SELECT * FROM SYS.WM_MAPPINGS POSTHOOK: type: QUERY POSTHOOK: Input: sys@wm_mappings #### A masked pattern was here #### -plan_2 USER user1 def 0 plan_2 GROUP group1 def.c1 0 +plan_2 USER user1 def 0 PREHOOK: query: CREATE RESOURCE PLAN plan_4 PREHOOK: type: CREATE RESOURCEPLAN POSTHOOK: query: CREATE RESOURCE PLAN plan_4 @@ -3967,9 +3991,9 @@ POSTHOOK: query: SELECT * FROM SYS.WM_RESOURCEPLANS POSTHOOK: type: QUERY POSTHOOK: Input: sys@wm_resourceplans #### A masked pattern was here #### -table DISABLED 1 table.pool plan_1 ENABLED NULL default plan_4 ACTIVE NULL default +table DISABLED 1 table.pool PREHOOK: query: SELECT * FROM SYS.WM_POOLS PREHOOK: type: QUERY PREHOOK: Input: sys@wm_pools @@ -3978,10 +4002,10 @@ POSTHOOK: query: SELECT * FROM SYS.WM_POOLS POSTHOOK: type: QUERY POSTHOOK: Input: sys@wm_pools #### A masked pattern was here #### -table table 0.0 1 random -table table.pool 0.9 3 priority plan_1 default 1.0 4 NULL plan_4 default 1.0 4 NULL +table table 0.0 1 random +table table.pool 0.9 3 priority PREHOOK: query: SELECT * FROM SYS.WM_TRIGGERS PREHOOK: type: QUERY PREHOOK: Input: sys@wm_triggers http://git-wip-us.apache.org/repos/asf/hive/blob/3500196b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java ---------------------------------------------------------------------- diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java index 63cb52e..fcd06a8 100644 --- a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java +++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java @@ -9698,9 +9698,13 @@ public class ObjectStore implements RawStore, Configurable { try { openTransaction(); MWMResourcePlan mResourcePlan = getMWMResourcePlan(name, !resourcePlan.isSetStatus()); - if (resourcePlan.isSetStatus() && (resourcePlan.isSetQueryParallelism() || - resourcePlan.isSetDefaultPoolPath() || !resourcePlan.getName().equals(name))) { - throw new InvalidOperationException("Cannot change values during status switch."); + if (resourcePlan.isSetQueryParallelism() || resourcePlan.isSetDefaultPoolPath() + || !resourcePlan.getName().equals(name)) { + if (resourcePlan.isSetStatus()) { + throw new InvalidOperationException("Cannot change values during status switch."); + } else if (resourcePlan.getStatus() == WMResourcePlanStatus.DISABLED) { + throw new InvalidOperationException("Resource plan must be disabled to edit it."); + } } if (!resourcePlan.getName().equals(name)) { String newName = normalizeIdentifier(resourcePlan.getName());