You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Stamatis Zampetakis (Jira)" <ji...@apache.org> on 2020/07/29 10:21:00 UTC
[jira] [Created] (HIVE-23946) Improve control flow and error
handling in QTest dataset loading/unloading
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)