This is an automated email from the ASF dual-hosted git repository.

lijibing pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new 7df63e9bf44 Fix hive p2 cases. (#31541)
7df63e9bf44 is described below

commit 7df63e9bf449bcbea1533442c9e7b405c57c59fc
Author: Jibing-Li <64681310+jibing...@users.noreply.github.com>
AuthorDate: Wed Feb 28 21:12:26 2024 +0800

    Fix hive p2 cases. (#31541)
---
 .../hive/test_hive_analyze_db.groovy               | 225 +++++----------------
 .../hive/test_hive_statistic_cache.groovy          |  46 ++---
 .../hive/test_hive_statistics_from_hms.groovy      |  18 +-
 3 files changed, 90 insertions(+), 199 deletions(-)

diff --git 
a/regression-test/suites/external_table_p2/hive/test_hive_analyze_db.groovy 
b/regression-test/suites/external_table_p2/hive/test_hive_analyze_db.groovy
index 7d6373ffdc5..5853d3e8af9 100644
--- a/regression-test/suites/external_table_p2/hive/test_hive_analyze_db.groovy
+++ b/regression-test/suites/external_table_p2/hive/test_hive_analyze_db.groovy
@@ -15,181 +15,64 @@
 // specific language governing permissions and limitations
 // under the License.
 
-suite("test_hive_analyze_db", 
"p2,external,hive,external_remote,external_remote_hive") {
-    String enabled = context.config.otherConfigs.get("enableExternalHiveTest")
-    if (enabled != null && enabled.equalsIgnoreCase("true")) {
-        String extHiveHmsHost = 
context.config.otherConfigs.get("extHiveHmsHost")
-        String extHiveHmsPort = 
context.config.otherConfigs.get("extHiveHmsPort")
-        String catalog_name = "test_hive_analyze_db"
-        sql """drop catalog if exists ${catalog_name};"""
-        sql """
+ suite("test_hive_analyze_db", 
"p2,external,hive,external_remote,external_remote_hive") {
+
+     def verify_column_stats_result = { column, result, count, ndv, nulls, 
size, avg_size, min, max ->
+         def found = false;
+         for (int i = 0; i < result.size(); i++) {
+             if (result[i][0] == column) {
+                 found = true;
+                 assertEquals(count, result[i][2])
+                 assertEquals(ndv, result[i][3])
+                 assertEquals(nulls, result[i][4])
+                 assertEquals(size, result[i][5])
+                 assertEquals(avg_size, result[i][6])
+                 assertEquals(min, result[i][7])
+                 assertEquals(max, result[i][8])
+             }
+         }
+         assertTrue(found)
+     }
+
+     String enabled = context.config.otherConfigs.get("enableExternalHiveTest")
+     if (enabled != null && enabled.equalsIgnoreCase("true")) {
+         String extHiveHmsHost = 
context.config.otherConfigs.get("extHiveHmsHost")
+         String extHiveHmsPort = 
context.config.otherConfigs.get("extHiveHmsPort")
+         String catalog_name = "test_hive_analyze_db"
+         sql """drop catalog if exists ${catalog_name};"""
+         sql """
             create catalog if not exists ${catalog_name} properties (
                 'type'='hms',
                 'hadoop.username' = 'hadoop',
                 'hive.metastore.uris' = 
'thrift://${extHiveHmsHost}:${extHiveHmsPort}'
             );
         """
-        logger.info("catalog " + catalog_name + " created")
-        sql """switch ${catalog_name};"""
-        logger.info("switched to catalog " + catalog_name)
-        sql """use statistics;"""
-        sql """set query_timeout=300"""
-        sql """analyze database statistics with sync"""
-        def result = sql """show column stats statistics"""
-        assertEquals(result.size(), 17)
-
-        assertEquals(result[0][0], "lo_orderpriority")
-        assertEquals(result[0][2], "100.0")
-        assertEquals(result[0][3], "5.0")
-        assertEquals(result[0][4], "0.0")
-        assertEquals(result[0][5], "880.0")
-        assertEquals(result[0][6], "8.8")
-        assertEquals(result[0][7], "'1-URGENT'")
-        assertEquals(result[0][8], "'5-LOW'")
-        
-        assertEquals(result[1][0], "lo_custkey")
-        assertEquals(result[1][2], "100.0")
-        assertEquals(result[1][3], "26.0")
-        assertEquals(result[1][4], "0.0")
-        assertEquals(result[1][5], "400.0")
-        assertEquals(result[1][6], "4.0")
-        assertEquals(result[1][7], "67423")
-        assertEquals(result[1][8], "2735521")
-
-        assertEquals(result[2][0], "lo_partkey")
-        assertEquals(result[2][2], "100.0")
-        assertEquals(result[2][3], "100.0")
-        assertEquals(result[2][4], "0.0")
-        assertEquals(result[2][5], "400.0")
-        assertEquals(result[2][6], "4.0")
-        assertEquals(result[2][7], "2250")
-        assertEquals(result[2][8], "989601")
-
-        assertEquals(result[3][0], "lo_revenue")
-        assertEquals(result[3][2], "100.0")
-        assertEquals(result[3][3], "100.0")
-        assertEquals(result[3][4], "0.0")
-        assertEquals(result[3][5], "400.0")
-        assertEquals(result[3][6], "4.0")
-        assertEquals(result[3][7], "101171")
-        assertEquals(result[3][8], "8703450")
-
-        assertEquals(result[4][0], "lo_commitdate")
-        assertEquals(result[4][2], "100.0")
-        assertEquals(result[4][3], "95.0")
-        assertEquals(result[4][4], "0.0")
-        assertEquals(result[4][5], "400.0")
-        assertEquals(result[4][6], "4.0")
-        assertEquals(result[4][7], "19920515")
-        assertEquals(result[4][8], "19981016")
-        
-        assertEquals(result[5][0], "lo_quantity")
-        assertEquals(result[5][2], "100.0")
-        assertEquals(result[5][3], "46.0")
-        assertEquals(result[5][4], "0.0")
-        assertEquals(result[5][5], "400.0")
-        assertEquals(result[5][6], "4.0")
-        assertEquals(result[5][7], "1")
-        assertEquals(result[5][8], "50")
-
-        assertEquals(result[6][0], "lo_orderkey")
-        assertEquals(result[6][2], "100.0")
-        assertEquals(result[6][3], "26.0")
-        assertEquals(result[6][4], "0.0")
-        assertEquals(result[6][5], "400.0")
-        assertEquals(result[6][6], "4.0")
-        assertEquals(result[6][7], "1")
-        assertEquals(result[6][8], "98")
-
-        assertEquals(result[7][0], "lo_suppkey")
-        assertEquals(result[7][2], "100.0")
-        assertEquals(result[7][3], "100.0")
-        assertEquals(result[7][4], "0.0")
-        assertEquals(result[7][5], "400.0")
-        assertEquals(result[7][6], "4.0")
-        assertEquals(result[7][7], "4167")
-        assertEquals(result[7][8], "195845")
-
-        assertEquals(result[8][0], "lo_supplycost")
-        assertEquals(result[8][2], "100.0")
-        assertEquals(result[8][3], "100.0")
-        assertEquals(result[8][4], "0.0")
-        assertEquals(result[8][5], "400.0")
-        assertEquals(result[8][6], "4.0")
-        assertEquals(result[8][7], "58023")
-        assertEquals(result[8][8], "121374")
-
-        assertEquals(result[9][0], "lo_shipmode")
-        assertEquals(result[9][2], "100.0")
-        assertEquals(result[9][3], "7.0")
-        assertEquals(result[9][4], "0.0")
-        assertEquals(result[9][5], "421.0")
-        assertEquals(result[9][6], "4.21")
-        assertEquals(result[9][7], "'AIR'")
-        assertEquals(result[9][8], "'TRUCK'")
-
-        assertEquals(result[10][0], "lo_orderdate")
-        assertEquals(result[10][2], "100.0")
-        assertEquals(result[10][3], "26.0")
-        assertEquals(result[10][4], "0.0")
-        assertEquals(result[10][5], "400.0")
-        assertEquals(result[10][6], "4.0")
-        assertEquals(result[10][7], "19920221")
-        assertEquals(result[10][8], "19980721")
-
-        assertEquals(result[11][0], "lo_linenumber")
-        assertEquals(result[11][2], "100.0")
-        assertEquals(result[11][3], "7.0")
-        assertEquals(result[11][4], "0.0")
-        assertEquals(result[11][5], "400.0")
-        assertEquals(result[11][6], "4.0")
-        assertEquals(result[11][7], "1")
-        assertEquals(result[11][8], "7")
-
-        assertEquals(result[12][0], "lo_shippriority")
-        assertEquals(result[12][2], "100.0")
-        assertEquals(result[12][3], "1.0")
-        assertEquals(result[12][4], "0.0")
-        assertEquals(result[12][5], "400.0")
-        assertEquals(result[12][6], "4.0")
-        assertEquals(result[12][7], "0")
-        assertEquals(result[12][8], "0")
-
-        assertEquals(result[13][0], "lo_ordtotalprice")
-        assertEquals(result[13][2], "100.0")
-        assertEquals(result[13][3], "26.0")
-        assertEquals(result[13][4], "0.0")
-        assertEquals(result[13][5], "400.0")
-        assertEquals(result[13][6], "4.0")
-        assertEquals(result[13][7], "3428256")
-        assertEquals(result[13][8], "36771805")
-
-        assertEquals(result[14][0], "lo_extendedprice")
-        assertEquals(result[14][2], "100.0")
-        assertEquals(result[14][3], "100.0")
-        assertEquals(result[14][4], "0.0")
-        assertEquals(result[14][5], "400.0")
-        assertEquals(result[14][6], "4.0")
-        assertEquals(result[14][7], "104300")
-        assertEquals(result[14][8], "9066094")
-
-        assertEquals(result[15][0], "lo_tax")
-        assertEquals(result[15][2], "100.0")
-        assertEquals(result[15][3], "9.0")
-        assertEquals(result[15][4], "0.0")
-        assertEquals(result[15][5], "400.0")
-        assertEquals(result[15][6], "4.0")
-        assertEquals(result[15][7], "0")
-        assertEquals(result[15][8], "8")
-
-        assertEquals(result[16][0], "lo_discount")
-        assertEquals(result[16][2], "100.0")
-        assertEquals(result[16][3], "11.0")
-        assertEquals(result[16][4], "0.0")
-        assertEquals(result[16][5], "400.0")
-        assertEquals(result[16][6], "4.0")
-        assertEquals(result[16][7], "0")
-        assertEquals(result[16][8], "10")
-    }
-}
+         logger.info("catalog " + catalog_name + " created")
+         sql """switch ${catalog_name};"""
+         logger.info("switched to catalog " + catalog_name)
+         sql """use statistics;"""
+         sql """set query_timeout=300"""
+         sql """analyze database statistics with sync"""
+         def result = sql """show column stats statistics"""
+         assertEquals(result.size(), 17)
+
+         verify_column_stats_result("lo_orderpriority", result, "100.0", 
"5.0", "0.0", "880.0", "8.8", "'1-URGENT'", "'5-LOW'")
+         verify_column_stats_result("lo_custkey", result, "100.0", "26.0", 
"0.0", "400.0", "4.0", "67423", "2735521")
+         verify_column_stats_result("lo_partkey", result, "100.0", "100.0", 
"0.0", "400.0", "4.0", "2250", "989601")
+         verify_column_stats_result("lo_revenue", result, "100.0", "100.0", 
"0.0", "400.0", "4.0", "101171", "8703450")
+         verify_column_stats_result("lo_commitdate", result, "100.0", "95.0", 
"0.0", "400.0", "4.0", "19920515", "19981016")
+         verify_column_stats_result("lo_quantity", result, "100.0", "46.0", 
"0.0", "400.0", "4.0", "1", "50")
+         verify_column_stats_result("lo_orderkey", result, "100.0", "26.0", 
"0.0", "400.0", "4.0", "1", "98")
+         verify_column_stats_result("lo_suppkey", result, "100.0", "100.0", 
"0.0", "400.0", "4.0", "4167", "195845")
+         verify_column_stats_result("lo_supplycost", result, "100.0", "100.0", 
"0.0", "400.0", "4.0", "58023", "121374")
+         verify_column_stats_result("lo_shipmode", result, "100.0", "7.0", 
"0.0", "421.0", "4.21", "'AIR'", "'TRUCK'")
+         verify_column_stats_result("lo_orderdate", result, "100.0", "26.0", 
"0.0", "400.0", "4.0", "19920221", "19980721")
+         verify_column_stats_result("lo_linenumber", result, "100.0", "7.0", 
"0.0", "400.0", "4.0", "1", "7")
+         verify_column_stats_result("lo_shippriority", result, "100.0", "1.0", 
"0.0", "400.0", "4.0", "0", "0")
+         verify_column_stats_result("lo_ordtotalprice", result, "100.0", 
"26.0", "0.0", "400.0", "4.0", "3428256", "36771805")
+         verify_column_stats_result("lo_extendedprice", result, "100.0", 
"100.0", "0.0", "400.0", "4.0", "104300", "9066094")
+         verify_column_stats_result("lo_tax", result, "100.0", "9.0", "0.0", 
"400.0", "4.0", "0", "8")
+         verify_column_stats_result("lo_discount", result, "100.0", "11.0", 
"0.0", "400.0", "4.0", "0", "10")
+     }
+ }
 
diff --git 
a/regression-test/suites/external_table_p2/hive/test_hive_statistic_cache.groovy
 
b/regression-test/suites/external_table_p2/hive/test_hive_statistic_cache.groovy
index 3b18f2a7254..de39d408a53 100644
--- 
a/regression-test/suites/external_table_p2/hive/test_hive_statistic_cache.groovy
+++ 
b/regression-test/suites/external_table_p2/hive/test_hive_statistic_cache.groovy
@@ -16,6 +16,21 @@
 // under the License.
 
 suite("test_hive_statistic_cache", 
"p2,external,hive,external_remote,external_remote_hive") {
+
+    def wait_row_count_reported = { table, expected ->
+        for (int i = 0; i < 10; i++) {
+            result = sql """show table stats ${table}"""
+            logger.info("show table stats result: " + result)
+            assertTrue(result.size() == 1)
+            if (result[0][2] == "0") {
+                Thread.sleep(1000)
+                continue;
+            }
+            assertEquals(expected, result[0][2])
+            break;
+        }
+    }
+
     String enabled = context.config.otherConfigs.get("enableExternalHiveTest")
     if (enabled != null && enabled.equalsIgnoreCase("true")) {
         String extHiveHmsHost = 
context.config.otherConfigs.get("extHiveHmsHost")
@@ -38,30 +53,15 @@ suite("test_hive_statistic_cache", 
"p2,external,hive,external_remote,external_re
         sql """desc part""";
         sql """desc partsupp""";
         sql """desc supplier""";
-        Thread.sleep(1000);
-        def result = sql """show table cached stats customer"""
-        assertEquals(result[0][2], "150000000")
-
-        result = sql """show table cached stats lineitem"""
-        assertEquals(result[0][2], "5999989709")
-
-        result = sql """show table cached stats region"""
-        assertEquals(result[0][2], "5")
-
-        result = sql """show table cached stats nation"""
-        assertEquals(result[0][2], "25")
-
-        result = sql """show table cached stats orders"""
-        assertEquals(result[0][2], "1500000000")
-
-        result = sql """show table cached stats part"""
-        assertEquals(result[0][2], "200000000")
-
-        result = sql """show table cached stats partsupp"""
-        assertEquals(result[0][2], "800000000")
 
-        result = sql """show table cached stats supplier"""
-        assertEquals(result[0][2], "10000000")
+        wait_row_count_reported("customer", "150000000")
+        wait_row_count_reported("lineitem", "5999989709")
+        wait_row_count_reported("region", "5")
+        wait_row_count_reported("nation", "25")
+        wait_row_count_reported("orders", "1500000000")
+        wait_row_count_reported("part", "200000000")
+        wait_row_count_reported("partsupp", "800000000")
+        wait_row_count_reported("supplier", "10000000")
 
         logger.info("catalog " + catalog_name + " created")
         sql """switch ${catalog_name};"""
diff --git 
a/regression-test/suites/external_table_p2/hive/test_hive_statistics_from_hms.groovy
 
b/regression-test/suites/external_table_p2/hive/test_hive_statistics_from_hms.groovy
index b25102f2278..c3c671bb035 100644
--- 
a/regression-test/suites/external_table_p2/hive/test_hive_statistics_from_hms.groovy
+++ 
b/regression-test/suites/external_table_p2/hive/test_hive_statistics_from_hms.groovy
@@ -152,7 +152,7 @@ suite("test_hive_statistics_from_hms", 
"p2,external,hive,external_remote,externa
         assertTrue(result[0][4] == "0.0")
         assertTrue(result[0][5] == "6001215.0")
         assertTrue(result[0][6] == "1.0")
-                             
+
         result = sql """show column cached stats lineitem (l_comment)"""
         assertTrue(result.size() == 1)
         assertTrue(result[0][0] == "l_comment")
@@ -203,10 +203,18 @@ suite("test_hive_statistics_from_hms", 
"p2,external,hive,external_remote,externa
         assertTrue(result[0][4] == "0.0")
         assertTrue(result[0][5] == "7.2006178E7")
         assertTrue(result[0][6] == "11.998599950176756")
-                             
-        result = sql """show table cached stats lineitem"""
-        assertTrue(result.size() == 1)
-        assertTrue(result[0][2] == "6001215")
+
+        for (int i = 0; i < 10; i++) {
+            result = sql """show table stats lineitem"""
+            logger.info("show table stats result: " + result)
+            assertTrue(result.size() == 1)
+            if (result[0][2] == "0") {
+                Thread.sleep(1000)
+                continue;
+            }
+            assertTrue(result[0][2] == "6001215")
+            break;
+        }
 
         sql """drop catalog ${catalog_name}"""
     }


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to