diff --git ql/src/test/queries/clientpositive/repair.q ql/src/test/queries/clientpositive/repair.q index 5da6a98..066d446 100644 --- ql/src/test/queries/clientpositive/repair.q +++ ql/src/test/queries/clientpositive/repair.q @@ -2,10 +2,15 @@ CREATE TABLE repairtable(col STRING) PARTITIONED BY (p1 STRING, p2 STRING); +-- EXCLUDE_HADOOP_MAJOR_VERSIONS(0.17, 0.18, 0.19, 0.20, 0.23, 1.0, 2.0) +-- Hadoop 2.2 changes the behavior of FsShell on mkdir +-- HADOOP-8551 fixes "fs -mkdir creates parent directories without the -p option" +-- In Hadoop 2.2, dfs -mkdir should provide -p so that parent directories are created + MSCK TABLE repairtable; -dfs -mkdir ../build/ql/test/data/warehouse/repairtable/p1=a/p2=a; -dfs -mkdir ../build/ql/test/data/warehouse/repairtable/p1=b/p2=a; +dfs -mkdir -p ../build/ql/test/data/warehouse/repairtable/p1=a/p2=a; +dfs -mkdir -p ../build/ql/test/data/warehouse/repairtable/p1=b/p2=a; MSCK TABLE repairtable; diff --git ql/src/test/queries/clientpositive/repair_hadoop23.q ql/src/test/queries/clientpositive/repair_hadoop23.q new file mode 100644 index 0000000..b380fe3 --- /dev/null +++ ql/src/test/queries/clientpositive/repair_hadoop23.q @@ -0,0 +1,21 @@ + + +CREATE TABLE repairtable(col STRING) PARTITIONED BY (p1 STRING, p2 STRING); + +-- INCLUDE_HADOOP_MAJOR_VERSIONS(0.17, 0.18, 0.19, 0.20, 0.23, 1.0, 2.0) +-- Hadoop 2.2 changes the behavior of FsShell on mkdir +-- HADOOP-8551 fixes "fs -mkdir creates parent directories without the -p option" +-- In Hadoop 2.2, dfs -mkdir should provide -p so that parent directories are created + +MSCK TABLE repairtable; + +dfs -mkdir ../build/ql/test/data/warehouse/repairtable/p1=a/p2=a; +dfs -mkdir ../build/ql/test/data/warehouse/repairtable/p1=b/p2=a; + +MSCK TABLE repairtable; + +MSCK REPAIR TABLE repairtable; + +MSCK TABLE repairtable; + + diff --git ql/src/test/results/clientpositive/repair.q.out ql/src/test/results/clientpositive/repair.q.out index a05726a..5a0d7ba 100644 --- ql/src/test/results/clientpositive/repair.q.out +++ ql/src/test/results/clientpositive/repair.q.out @@ -3,9 +3,19 @@ PREHOOK: type: CREATETABLE POSTHOOK: query: CREATE TABLE repairtable(col STRING) PARTITIONED BY (p1 STRING, p2 STRING) POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@repairtable -PREHOOK: query: MSCK TABLE repairtable +PREHOOK: query: -- EXCLUDE_HADOOP_MAJOR_VERSIONS(0.17, 0.18, 0.19, 0.20, 0.23, 1.0, 2.0) +-- Hadoop 2.2 changes the behavior of FsShell on mkdir +-- HADOOP-8551 fixes "fs -mkdir creates parent directories without the -p option" +-- In Hadoop 2.2, dfs -mkdir should provide -p so that parent directories are created + +MSCK TABLE repairtable PREHOOK: type: MSCK -POSTHOOK: query: MSCK TABLE repairtable +POSTHOOK: query: -- EXCLUDE_HADOOP_MAJOR_VERSIONS(0.17, 0.18, 0.19, 0.20, 0.23, 1.0, 2.0) +-- Hadoop 2.2 changes the behavior of FsShell on mkdir +-- HADOOP-8551 fixes "fs -mkdir creates parent directories without the -p option" +-- In Hadoop 2.2, dfs -mkdir should provide -p so that parent directories are created + +MSCK TABLE repairtable POSTHOOK: type: MSCK PREHOOK: query: MSCK TABLE repairtable PREHOOK: type: MSCK diff --git ql/src/test/results/clientpositive/repair_hadoop23.q.out ql/src/test/results/clientpositive/repair_hadoop23.q.out new file mode 100644 index 0000000..ad0a1b9 --- /dev/null +++ ql/src/test/results/clientpositive/repair_hadoop23.q.out @@ -0,0 +1,35 @@ +PREHOOK: query: CREATE TABLE repairtable(col STRING) PARTITIONED BY (p1 STRING, p2 STRING) +PREHOOK: type: CREATETABLE +POSTHOOK: query: CREATE TABLE repairtable(col STRING) PARTITIONED BY (p1 STRING, p2 STRING) +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: default@repairtable +PREHOOK: query: -- INCLUDE_HADOOP_MAJOR_VERSIONS(0.17, 0.18, 0.19, 0.20, 0.23, 1.0, 2.0) +-- Hadoop 2.2 changes the behavior of FsShell on mkdir +-- HADOOP-8551 fixes "fs -mkdir creates parent directories without the -p option" +-- In Hadoop 2.2, dfs -mkdir should provide -p so that parent directories are created + +MSCK TABLE repairtable +PREHOOK: type: MSCK +POSTHOOK: query: -- INCLUDE_HADOOP_MAJOR_VERSIONS(0.17, 0.18, 0.19, 0.20, 0.23, 1.0, 2.0) +-- Hadoop 2.2 changes the behavior of FsShell on mkdir +-- HADOOP-8551 fixes "fs -mkdir creates parent directories without the -p option" +-- In Hadoop 2.2, dfs -mkdir should provide -p so that parent directories are created + +MSCK TABLE repairtable +POSTHOOK: type: MSCK +PREHOOK: query: MSCK TABLE repairtable +PREHOOK: type: MSCK +POSTHOOK: query: MSCK TABLE repairtable +POSTHOOK: type: MSCK +Partitions not in metastore: repairtable:p1=a/p2=a repairtable:p1=b/p2=a +PREHOOK: query: MSCK REPAIR TABLE repairtable +PREHOOK: type: MSCK +POSTHOOK: query: MSCK REPAIR TABLE repairtable +POSTHOOK: type: MSCK +Partitions not in metastore: repairtable:p1=a/p2=a repairtable:p1=b/p2=a +Repair: Added partition to metastore repairtable:p1=a/p2=a +Repair: Added partition to metastore repairtable:p1=b/p2=a +PREHOOK: query: MSCK TABLE repairtable +PREHOOK: type: MSCK +POSTHOOK: query: MSCK TABLE repairtable +POSTHOOK: type: MSCK