diff --git hbase-handler/src/test/queries/negative/cascade_dbdrop.q hbase-handler/src/test/queries/negative/cascade_dbdrop.q index 7c70c88..445dbd1 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; +-- EXCLUDE_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_hadoop20.q hbase-handler/src/test/queries/negative/cascade_dbdrop_hadoop20.q new file mode 100644 index 0000000..bf13e01 --- /dev/null +++ hbase-handler/src/test/queries/negative/cascade_dbdrop_hadoop20.q @@ -0,0 +1,29 @@ + +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") +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 617e782..771aaff 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: -- EXCLUDE_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: -- EXCLUDE_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") @@ -19,5 +39,5 @@ 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 -Query returned non-zero code: -1, cause: null +Command failed with exit code = 1 +Query returned non-zero code: 1, cause: null diff --git hbase-handler/src/test/results/negative/cascade_dbdrop_hadoop20.q.out hbase-handler/src/test/results/negative/cascade_dbdrop_hadoop20.q.out new file mode 100644 index 0000000..5c382a3 --- /dev/null +++ hbase-handler/src/test/results/negative/cascade_dbdrop_hadoop20.q.out @@ -0,0 +1,43 @@ +PREHOOK: query: CREATE DATABASE hbaseDB +PREHOOK: type: CREATEDATABASE +POSTHOOK: query: CREATE DATABASE hbaseDB +POSTHOOK: type: CREATEDATABASE +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: -- 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") +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 +Query returned non-zero code: -1, cause: null diff --git hbase-handler/src/test/templates/TestHBaseCliDriver.vm hbase-handler/src/test/templates/TestHBaseCliDriver.vm index 3f2baaf..3e1619a 100644 --- hbase-handler/src/test/templates/TestHBaseCliDriver.vm +++ hbase-handler/src/test/templates/TestHBaseCliDriver.vm @@ -58,9 +58,6 @@ public class $className extends TestCase { } qt = new HBaseQTestUtil("$resultsDir", "$logDir", miniMR, setup); -#foreach ($qf in $qfiles) - qt.addFile("$qfilesMap.get($qf.getName())"); -#end } catch (Exception e) { System.out.println("Exception: " + e.getMessage()); e.printStackTrace(); @@ -102,6 +99,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"); diff --git hbase-handler/src/test/templates/TestHBaseNegativeCliDriver.vm hbase-handler/src/test/templates/TestHBaseNegativeCliDriver.vm index 000878c..49f308f 100644 --- hbase-handler/src/test/templates/TestHBaseNegativeCliDriver.vm +++ hbase-handler/src/test/templates/TestHBaseNegativeCliDriver.vm @@ -42,9 +42,6 @@ public class $className extends TestCase { qt = new HBaseQTestUtil("$resultsDir", "$logDir", miniMR, setup); -#foreach ($qf in $qfiles) - qt.addFile("$qfilesMap.get($qf.getName())"); -#end } catch (Exception e) { System.out.println("Exception: " + e.getMessage()); e.printStackTrace(); @@ -86,6 +83,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");