diff --git hbase-handler/src/test/queries/negative/cascade_dbdrop.q hbase-handler/src/test/queries/negative/cascade_dbdrop.q index 7c70c88..bf13e01 100644 --- hbase-handler/src/test/queries/negative/cascade_dbdrop.q +++ hbase-handler/src/test/queries/negative/cascade_dbdrop.q @@ -1,6 +1,16 @@ CREATE DATABASE hbaseDB; +-- INCLUDE_HADOOP_MAJOR_VERSIONS(0.20) +-- Hadoop 0.23 changes the behavior FsShell on Exit Codes +-- In Hadoop 0.20 +-- Exit Code == 0 on success +-- Exit code < 0 on any failure +-- In Hadoop 0.23 +-- Exit Code == 0 on success +-- Exit Code < 0 on syntax/usage error +-- Exit Code > 0 operation failed + CREATE TABLE hbaseDB.hbase_table_0(key int, value string) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf:string") diff --git hbase-handler/src/test/queries/negative/cascade_dbdrop_hadoop23.q hbase-handler/src/test/queries/negative/cascade_dbdrop_hadoop23.q new file mode 100644 index 0000000..e90b62d --- /dev/null +++ hbase-handler/src/test/queries/negative/cascade_dbdrop_hadoop23.q @@ -0,0 +1,29 @@ + +CREATE DATABASE hbaseDB; + +-- INCLUDE_HADOOP_MAJOR_VERSIONS(0.23) +-- Hadoop 0.23 changes the behavior FsShell on Exit Codes +-- In Hadoop 0.20 +-- Exit Code == 0 on success +-- Exit code < 0 on any failure +-- In Hadoop 0.23 +-- Exit Code == 0 on success +-- Exit Code < 0 on syntax/usage error +-- Exit Code > 0 operation failed + +CREATE TABLE hbaseDB.hbase_table_0(key int, value string) +STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' +WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf:string") +TBLPROPERTIES ("hbase.table.name" = "hbase_table_0"); + +dfs -ls ../build/ql/tmp/hbase/hbase_table_0; + +DROP DATABASE IF EXISTS hbaseDB CASCADE; + +dfs -ls ../build/ql/tmp/hbase/hbase_table_0; + + + + + + diff --git hbase-handler/src/test/results/negative/cascade_dbdrop.q.out hbase-handler/src/test/results/negative/cascade_dbdrop.q.out index 072b951..9ebe1e8 100644 --- hbase-handler/src/test/results/negative/cascade_dbdrop.q.out +++ hbase-handler/src/test/results/negative/cascade_dbdrop.q.out @@ -2,12 +2,32 @@ PREHOOK: query: CREATE DATABASE hbaseDB PREHOOK: type: CREATEDATABASE POSTHOOK: query: CREATE DATABASE hbaseDB POSTHOOK: type: CREATEDATABASE -PREHOOK: query: CREATE TABLE hbaseDB.hbase_table_0(key int, value string) +PREHOOK: query: -- INCLUDE_HADOOP_MAJOR_VERSIONS(0.20) +-- Hadoop 0.23 changes the behavior FsShell on Exit Codes +-- In Hadoop 0.20 +-- Exit Code == 0 on success +-- Exit code < 0 on any failure +-- In Hadoop 0.23 +-- Exit Code == 0 on success +-- Exit Code < 0 on syntax/usage error +-- Exit Code > 0 operation failed + +CREATE TABLE hbaseDB.hbase_table_0(key int, value string) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf:string") TBLPROPERTIES ("hbase.table.name" = "hbase_table_0") PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE hbaseDB.hbase_table_0(key int, value string) +POSTHOOK: query: -- INCLUDE_HADOOP_MAJOR_VERSIONS(0.20) +-- Hadoop 0.23 changes the behavior FsShell on Exit Codes +-- In Hadoop 0.20 +-- Exit Code == 0 on success +-- Exit code < 0 on any failure +-- In Hadoop 0.23 +-- Exit Code == 0 on success +-- Exit Code < 0 on syntax/usage error +-- Exit Code > 0 operation failed + +CREATE TABLE hbaseDB.hbase_table_0(key int, value string) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf:string") TBLPROPERTIES ("hbase.table.name" = "hbase_table_0") diff --git hbase-handler/src/test/results/negative/cascade_dbdrop_hadoop23.q.out hbase-handler/src/test/results/negative/cascade_dbdrop_hadoop23.q.out new file mode 100644 index 0000000..dca4bad --- /dev/null +++ hbase-handler/src/test/results/negative/cascade_dbdrop_hadoop23.q.out @@ -0,0 +1,42 @@ +PREHOOK: query: CREATE DATABASE hbaseDB +PREHOOK: type: CREATEDATABASE +POSTHOOK: query: CREATE DATABASE hbaseDB +POSTHOOK: type: CREATEDATABASE +PREHOOK: query: -- INCLUDE_HADOOP_MAJOR_VERSIONS(0.23) +-- Hadoop 0.23 changes the behavior FsShell on Exit Codes +-- In Hadoop 0.20 +-- Exit Code == 0 on success +-- Exit code < 0 on any failure +-- In Hadoop 0.23 +-- Exit Code == 0 on success +-- Exit Code < 0 on syntax/usage error +-- Exit Code > 0 operation failed + +CREATE TABLE hbaseDB.hbase_table_0(key int, value string) +STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' +WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf:string") +TBLPROPERTIES ("hbase.table.name" = "hbase_table_0") +PREHOOK: type: CREATETABLE +POSTHOOK: query: -- INCLUDE_HADOOP_MAJOR_VERSIONS(0.23) +-- Hadoop 0.23 changes the behavior FsShell on Exit Codes +-- In Hadoop 0.20 +-- Exit Code == 0 on success +-- Exit code < 0 on any failure +-- In Hadoop 0.23 +-- Exit Code == 0 on success +-- Exit Code < 0 on syntax/usage error +-- Exit Code > 0 operation failed + +CREATE TABLE hbaseDB.hbase_table_0(key int, value string) +STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' +WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf:string") +TBLPROPERTIES ("hbase.table.name" = "hbase_table_0") +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: hbaseDB@hbase_table_0 +Found 3 items +#### A masked pattern was here #### +PREHOOK: query: DROP DATABASE IF EXISTS hbaseDB CASCADE +PREHOOK: type: DROPDATABASE +POSTHOOK: query: DROP DATABASE IF EXISTS hbaseDB CASCADE +POSTHOOK: type: DROPDATABASE +Command failed with exit code = 1 diff --git hbase-handler/src/test/templates/TestHBaseNegativeCliDriver.vm hbase-handler/src/test/templates/TestHBaseNegativeCliDriver.vm index c61cbd5d..cdcc8ea 100644 --- hbase-handler/src/test/templates/TestHBaseNegativeCliDriver.vm +++ hbase-handler/src/test/templates/TestHBaseNegativeCliDriver.vm @@ -44,9 +44,6 @@ public class $className extends TestCase { "$resultsDir.getCanonicalPath()", "$logDir.getCanonicalPath()", miniMR, setup); -#foreach ($qf in $qfiles) - qt.addFile("$qf.getCanonicalPath()"); -#end } catch (Exception e) { System.out.println("Exception: " + e.getMessage()); e.printStackTrace(); @@ -88,6 +85,14 @@ public class $className extends TestCase { long startTime = System.currentTimeMillis(); try { System.out.println("Begin query: " + "$fname"); + + qt.addFile("$qf.getCanonicalPath()"); + + if (qt.shouldBeSkipped("$fname")) { + System.out.println("Test $fname skipped"); + return; + } + qt.cliInit("$fname"); qt.clearTestSideEffects(); int ecode = qt.executeClient("$fname");