You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Stamatis Zampetakis (Jira)" <ji...@apache.org> on 2021/10/27 14:07:00 UTC

[jira] [Assigned] (HIVE-25655) Remove ElapsedTimeLoggingWrapper from tests

     [ https://issues.apache.org/jira/browse/HIVE-25655?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Stamatis Zampetakis reassigned HIVE-25655:
------------------------------------------


> Remove ElapsedTimeLoggingWrapper from tests
> -------------------------------------------
>
>                 Key: HIVE-25655
>                 URL: https://issues.apache.org/jira/browse/HIVE-25655
>             Project: Hive
>          Issue Type: Task
>          Components: Testing Infrastructure
>    Affects Versions: 4.0.0
>            Reporter: Stamatis Zampetakis
>            Assignee: Stamatis Zampetakis
>            Priority: Major
>
> The  [ElapsedTimeLoggingWrapper|https://github.com/apache/hive/blob/f749ef2af27638914984c183bcfa213920f5cdd9/itests/util/src/main/java/org/apache/hadoop/hive/util/ElapsedTimeLoggingWrapper.java] introduced in HIVE-14625 is used by the [CoreCliDriver|#L68] to execute, measure, and display the time spend on some operations during the execution of {{@Before/@After}} methods. 
> The benefit of logging the elapsed time for these methods is unclear. The time is usually rather short, especially compared to the actual time a query takes to run,  so it is not an information which can be of much use.
> The enforced coding pattern for measuring and logging the time leads to boilerplate and makes the code harder to read and understand. 
> {code:java}
> qt = new ElapsedTimeLoggingWrapper<QTestUtil>() {
>       @Override
>       public QTestUtil invokeInternal() throws Exception {
>         return new QTestUtil(
>             QTestArguments.QTestArgumentsBuilder.instance()
>               .withOutDir(cliConfig.getResultsDir())
>               .withLogDir(cliConfig.getLogDir())
>               .withClusterType(miniMR)
>               .withConfDir(hiveConfDir)
>               .withInitScript(initScript)
>               .withCleanupScript(cleanupScript)
>               .withLlapIo(true)
>               .withFsType(cliConfig.getFsType())
>               .build());
>       }
>     }.invoke("QtestUtil instance created", LOG, true);
> {code}
> Moreover, the wrapper is not used consistently across drivers making results less uniform.
> The goal of this issue is to remove {{ElapsedTimeLoggingWrapper}} and its usages to improve code readability and maintenance.



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