You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2020/11/13 08:32:00 UTC

[jira] [Work logged] (HIVE-23965) Improve plan regression tests using TPCDS30TB metastore dump and custom configs

     [ https://issues.apache.org/jira/browse/HIVE-23965?focusedWorklogId=511264&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-511264 ]

ASF GitHub Bot logged work on HIVE-23965:
-----------------------------------------

                Author: ASF GitHub Bot
            Created on: 13/Nov/20 08:31
            Start Date: 13/Nov/20 08:31
    Worklog Time Spent: 10m 
      Work Description: kgyrtkirk commented on a change in pull request #1347:
URL: https://github.com/apache/hive/pull/1347#discussion_r517278142



##########
File path: itests/qtest/src/test/java/org/apache/hadoop/hive/cli/TestTezTPCDS30TBPerfCliDriver.java
##########
@@ -17,30 +17,32 @@
  */
 package org.apache.hadoop.hive.cli;
 
-import java.io.File;
-import java.util.Comparator;
-import java.util.List;
-
 import org.apache.hadoop.hive.cli.control.CliAdapter;
 import org.apache.hadoop.hive.cli.control.CliConfigs;
+import org.apache.hadoop.hive.cli.control.SplitSupport;
 import org.junit.ClassRule;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.TestRule;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
 import org.junit.runners.Parameterized.Parameters;
+import org.junit.runners.model.Statement;
+
+import java.io.File;
+import java.util.Comparator;
+import java.util.List;
 
 @RunWith(Parameterized.class)
-public class TestTezPerfCliDriver {
+public class TestTezTPCDS30TBPerfCliDriver {
 
-  static CliAdapter adapter = new CliConfigs.TezPerfCliConfig(false).getCliAdapter();
+  static CliAdapter adapter = new CliConfigs.TezTPCDS30TBCliConfig().getCliAdapter();
 
   @Parameters(name = "{0}")
   public static List<Object[]> getParameters() throws Exception {
     List<Object[]> parameters = adapter.getParameters();
     parameters.sort(new C1());
-    return parameters;
+    return SplitSupport.process(parameters, TestTezTPCDS30TBPerfCliDriver.class, 10);

Review comment:
       I don't think this is really neccessary - does this testcase runs for more than 15 minutes?
   

##########
File path: ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java
##########
@@ -1743,7 +1743,9 @@ public void setLocalMapRedErrors(Map<String, List<String>> localMapRedErrors) {
 
   public String getCurrentDatabase() {
     if (currentDatabase == null) {
-      currentDatabase = DEFAULT_DATABASE_NAME;
+      currentDatabase = sessionConf.getVar(ConfVars.HIVE_CURRENT_DATABASE);

Review comment:
       instead of hacking the system - can't we just put the data inside the docker image under `default` ?
   ...or add a `use xxx` to the init sql - but please don't add something like this to  `SessionState`

##########
File path: itests/qtest/src/test/java/org/apache/hadoop/hive/cli/TestTezTPCDS30TBPerfCliDriver.java
##########
@@ -56,12 +58,22 @@ public int compare(Object[] o1, Object[] o2) {
   public static TestRule cliClassRule = adapter.buildClassRule();
 
   @Rule
-  public TestRule cliTestRule = adapter.buildTestRule();
+  public TestRule cliTestRule = (statement, description) -> new Statement() {

Review comment:
       I don't think this does anything more than `adapter.buildTestRule`




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Issue Time Tracking
-------------------

    Worklog Id:     (was: 511264)
    Time Spent: 1h 20m  (was: 1h 10m)

> Improve plan regression tests using TPCDS30TB metastore dump and custom configs
> -------------------------------------------------------------------------------
>
>                 Key: HIVE-23965
>                 URL: https://issues.apache.org/jira/browse/HIVE-23965
>             Project: Hive
>          Issue Type: Improvement
>            Reporter: Stamatis Zampetakis
>            Assignee: Stamatis Zampetakis
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 1h 20m
>  Remaining Estimate: 0h
>
> The existing regression tests (HIVE-12586) based on TPC-DS have certain shortcomings:
> The table statistics do not reflect cardinalities from a specific TPC-DS scale factor (SF). Some tables are from a 30TB dataset, others from 200GB dataset, and others from a 3GB dataset. This mix leads to plans that may never appear when using an actual TPC-DS dataset. 
> The existing statistics do not contain information about partitions something that can have a big impact on the resulting plans.
> The existing regression tests rely on more or less on the default configuration (hive-site.xml). In real-life scenarios though some of the configurations differ and may impact the choices of the optimizer.
> This issue aims to address the above shortcomings by using a curated TPCDS30TB metastore dump along with some custom hive configurations. 



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