Stamatis Zampetakis created HIVE-23946:
------------------------------------------

             Summary: Improve control flow and error handling in QTest dataset 
loading/unloading
                 Key: HIVE-23946
                 URL: https://issues.apache.org/jira/browse/HIVE-23946
             Project: Hive
          Issue Type: Improvement
            Reporter: Stamatis Zampetakis
            Assignee: Stamatis Zampetakis


This issue focuses mainly on the following methods:
[QTestDatasetHandler#initDataset| 
https://github.com/apache/hive/blob/6fbd54c0af60276d49b237defb550938c9c32610/itests/util/src/main/java/org/apache/hadoop/hive/ql/dataset/QTestDatasetHandler.java#L76]
[QTestDatasetHandler#unloadDataset|https://github.com/apache/hive/blob/6fbd54c0af60276d49b237defb550938c9c32610/itests/util/src/main/java/org/apache/hadoop/hive/ql/dataset/QTestDatasetHandler.java#L95]

related to QTest dataset loading and unloading.

The boolean return type in these methods is redundant since they either fail or 
return true (they never return false).

The methods should throw an Exception instead of an AssertionError to indicate 
failure. This allows code higher up the stack to perform proper recovery and 
properly report the failure. At the moment, if an AssertionError is raised from 
these methods dependent code (eg., 
[CoreCliDriver|https://github.com/apache/hive/blob/6fbd54c0af60276d49b237defb550938c9c32610/itests/util/src/main/java/org/apache/hadoop/hive/cli/control/CoreCliDriver.java#L188])
 fails to notice that the query has failed. 

In case of failure in loading/unloading the environment (instance and class 
variables) is not properly cleaned leading to failures in all subsequent tests.





--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to