This is an automated email from the ASF dual-hosted git repository.
csy pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kyuubi.git
The following commit(s) were added to refs/heads/master by this push:
new 25bb7e510 [KYUUBI #5720] [TEST] Fix flaky test in TPCHQuerySuite
25bb7e510 is described below
commit 25bb7e510238fce064eb21923be9685e417b49ea
Author: sychen <[email protected]>
AuthorDate: Mon Nov 20 11:18:52 2023 +0800
[KYUUBI #5720] [TEST] Fix flaky test in TPCHQuerySuite
# :mag: Description
## Issue References ๐
This pull request fixes #
## Describe Your Solution ๐ง
TPCHQuerySuite:
- run query on tiny *** FAILED ***
q14 (TPCHQuerySuite.scala:74)
https://github.com/apache/kyuubi/actions/runs/6891462902/job/18750551743?pr=5716
## Types of changes :bookmark:
- [x] Bugfix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
## Test Plan ๐งช
#### Behavior Without This Pull Request :coffin:
#### Behavior With This Pull Request :tada:
#### Related Unit Tests
---
# Checklists
## ๐ Author Self Checklist
- [ ] My code follows the [style
guidelines](https://kyuubi.readthedocs.io/en/master/contributing/code/style.html)
of this project
- [ ] I have performed a self-review
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my feature
works
- [ ] New and existing unit tests pass locally with my changes
- [ ] This patch was not authored or co-authored using [Generative
Tooling](https://www.apache.org/legal/generative-tooling.html)
## ๐ Committer Pre-Merge Checklist
- [x] Pull request title is okay.
- [x] No license issues.
- [ ] Milestone correctly set?
- [ ] Test coverage is ok
- [ ] Assignees are selected.
- [ ] Minimum number of approvals
- [ ] No changes are requested
**Be nice. Be informative.**
Closes #5720 from cxzl25/tpch_double.
Closes #5720
0a9f3ed99 [sychen] round
febe64765 [sychen] round
8db632599 [sychen] round
75e1699b7 [sychen] fix q14
Authored-by: sychen <[email protected]>
Signed-off-by: Shaoyun Chen <[email protected]>
---
.../src/main/resources/kyuubi/tpch/q1.output.hash | 2 +-
.../src/main/resources/kyuubi/tpch/q1.sql | 14 +++++------
.../src/main/resources/kyuubi/tpch/q10.output.hash | 2 +-
.../src/main/resources/kyuubi/tpch/q10.sql | 2 +-
.../src/main/resources/kyuubi/tpch/q14.output.hash | 2 +-
.../src/main/resources/kyuubi/tpch/q14.sql | 4 +--
.../src/main/resources/kyuubi/tpch/q15.output.hash | 2 +-
.../src/main/resources/kyuubi/tpch/q15.sql | 2 +-
.../src/main/resources/kyuubi/tpch/q22.output.hash | 2 +-
.../src/main/resources/kyuubi/tpch/q22.sql | 2 +-
.../src/main/resources/kyuubi/tpch/q5.output.hash | 2 +-
.../src/main/resources/kyuubi/tpch/q5.sql | 2 +-
.../src/main/resources/kyuubi/tpch/q6.output.hash | 2 +-
.../src/main/resources/kyuubi/tpch/q6.sql | 2 +-
.../src/main/resources/kyuubi/tpch/q7.output.hash | 2 +-
.../src/main/resources/kyuubi/tpch/q7.sql | 2 +-
.../src/main/resources/kyuubi/tpch/q9.output.hash | 2 +-
.../src/main/resources/kyuubi/tpch/q9.sql | 2 +-
.../spark/connector/tpch/TPCHQuerySuite.scala | 29 +++++++++-------------
19 files changed, 37 insertions(+), 42 deletions(-)
diff --git
a/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q1.output.hash
b/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q1.output.hash
index 2d33a627d..74f1f32ed 100644
---
a/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q1.output.hash
+++
b/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q1.output.hash
@@ -15,4 +15,4 @@
* limitations under the License.
*/
--2130215201
+-1796738616
diff --git
a/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q1.sql
b/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q1.sql
index 5031eb86c..b9b382350 100644
---
a/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q1.sql
+++
b/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q1.sql
@@ -19,13 +19,13 @@
select
l_returnflag,
l_linestatus,
- sum(l_quantity) as sum_qty,
- sum(l_extendedprice) as sum_base_price,
- sum(l_extendedprice * (1 - l_discount)) as sum_disc_price,
- sum(l_extendedprice * (1 - l_discount) * (1 + l_tax)) as sum_charge,
- avg(l_quantity) as avg_qty,
- avg(l_extendedprice) as avg_price,
- avg(l_discount) as avg_disc,
+ round(sum(l_quantity), 2) as sum_qty,
+ round(sum(l_extendedprice), 2) as sum_base_price,
+ round(sum(l_extendedprice * (1 - l_discount)), 2) as sum_disc_price,
+ round(sum(l_extendedprice * (1 - l_discount) * (1 + l_tax)), 2) as
sum_charge,
+ round(avg(l_quantity), 2) as avg_qty,
+ round(avg(l_extendedprice), 2) as avg_price,
+ round(avg(l_discount), 2) as avg_disc,
count(*) as count_order
from
lineitem
diff --git
a/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q10.output.hash
b/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q10.output.hash
index 4a6454e51..7b922f507 100644
---
a/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q10.output.hash
+++
b/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q10.output.hash
@@ -15,4 +15,4 @@
* limitations under the License.
*/
--4090660469
+-730770831
diff --git
a/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q10.sql
b/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q10.sql
index 87854a9ad..89dd5247a 100644
---
a/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q10.sql
+++
b/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q10.sql
@@ -19,7 +19,7 @@
select
c_custkey,
c_name,
- sum(l_extendedprice * (1 - l_discount)) as revenue,
+ round(sum(l_extendedprice * (1 - l_discount)), 1) as revenue,
c_acctbal,
n_name,
c_address,
diff --git
a/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q14.output.hash
b/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q14.output.hash
index 1b8cf626c..e05953604 100644
---
a/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q14.output.hash
+++
b/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q14.output.hash
@@ -15,4 +15,4 @@
* limitations under the License.
*/
-47333415
+799857942
diff --git
a/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q14.sql
b/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q14.sql
index 4c5c485fe..4aa7d13ca 100644
---
a/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q14.sql
+++
b/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q14.sql
@@ -17,11 +17,11 @@
-- using default substitutions
select
- 100.00 * sum(case
+ round(100.00 * sum(case
when p_type like 'PROMO%'
then l_extendedprice * (1 - l_discount)
else 0
- end) / sum(l_extendedprice * (1 - l_discount)) as promo_revenue
+ end) / sum(l_extendedprice * (1 - l_discount)), 2) as promo_revenue
from
lineitem,
part
diff --git
a/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q15.output.hash
b/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q15.output.hash
index 8dc6c1f42..a29b0607d 100644
---
a/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q15.output.hash
+++
b/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q15.output.hash
@@ -15,4 +15,4 @@
* limitations under the License.
*/
--2021679095
+-1401614325
diff --git
a/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q15.sql
b/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q15.sql
index 52519586d..11b9815fe 100644
---
a/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q15.sql
+++
b/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q15.sql
@@ -34,7 +34,7 @@ select
s_name,
s_address,
s_phone,
- total_revenue
+ round(total_revenue, 2) as total_revenue
from
supplier,
revenue0
diff --git
a/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q22.output.hash
b/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q22.output.hash
index d931acdad..1d53348d2 100644
---
a/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q22.output.hash
+++
b/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q22.output.hash
@@ -15,4 +15,4 @@
* limitations under the License.
*/
-2111900859
+2123615405
diff --git
a/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q22.sql
b/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q22.sql
index a9dea75f7..d504a8397 100644
---
a/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q22.sql
+++
b/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q22.sql
@@ -19,7 +19,7 @@
select
cntrycode,
count(*) as numcust,
- sum(c_acctbal) as totacctbal
+ round(sum(c_acctbal), 2) as totacctbal
from
(
select
diff --git
a/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q5.output.hash
b/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q5.output.hash
index d608f5fdd..5320ce212 100644
---
a/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q5.output.hash
+++
b/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q5.output.hash
@@ -15,4 +15,4 @@
* limitations under the License.
*/
-3717321142
+-2755325540
diff --git
a/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q5.sql
b/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q5.sql
index fc998961c..847f372cc 100644
---
a/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q5.sql
+++
b/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q5.sql
@@ -18,7 +18,7 @@
select
n_name,
- sum(l_extendedprice * (1 - l_discount)) as revenue
+ round(sum(l_extendedprice * (1 - l_discount)), 2) as revenue
from
customer,
orders,
diff --git
a/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q6.output.hash
b/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q6.output.hash
index c9efccd9e..fa86974aa 100644
---
a/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q6.output.hash
+++
b/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q6.output.hash
@@ -15,4 +15,4 @@
* limitations under the License.
*/
-2062248569
+223845550
diff --git
a/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q6.sql
b/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q6.sql
index efd8a5011..3f9a72094 100644
---
a/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q6.sql
+++
b/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q6.sql
@@ -17,7 +17,7 @@
-- using default substitutions
select
- sum(l_extendedprice * l_discount) as revenue
+ round(sum(l_extendedprice * l_discount), 2) as revenue
from
lineitem
where
diff --git
a/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q7.output.hash
b/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q7.output.hash
index 02a826f09..29d094045 100644
---
a/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q7.output.hash
+++
b/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q7.output.hash
@@ -15,4 +15,4 @@
* limitations under the License.
*/
--1955579146
+-95255706
diff --git
a/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q7.sql
b/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q7.sql
index 3d932e660..7c565e6cd 100644
---
a/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q7.sql
+++
b/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q7.sql
@@ -20,7 +20,7 @@ select
supp_nation,
cust_nation,
l_year,
- sum(volume) as revenue
+ round(sum(volume), 2) as revenue
from
(
select
diff --git
a/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q9.output.hash
b/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q9.output.hash
index 9f13f120a..561cdadbd 100644
---
a/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q9.output.hash
+++
b/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q9.output.hash
@@ -15,4 +15,4 @@
* limitations under the License.
*/
-10861514367
+-12715678387
diff --git
a/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q9.sql
b/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q9.sql
index a5f2d89cb..8ff49a38a 100644
---
a/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q9.sql
+++
b/extensions/spark/kyuubi-spark-connector-tpch/src/main/resources/kyuubi/tpch/q9.sql
@@ -19,7 +19,7 @@
select
nation,
o_year,
- sum(amount) as sum_profit
+ round(sum(amount), 2) as sum_profit
from
(
select
diff --git
a/extensions/spark/kyuubi-spark-connector-tpch/src/test/scala/org/apache/kyuubi/spark/connector/tpch/TPCHQuerySuite.scala
b/extensions/spark/kyuubi-spark-connector-tpch/src/test/scala/org/apache/kyuubi/spark/connector/tpch/TPCHQuerySuite.scala
index a409a5fe9..c651d9300 100644
---
a/extensions/spark/kyuubi-spark-connector-tpch/src/test/scala/org/apache/kyuubi/spark/connector/tpch/TPCHQuerySuite.scala
+++
b/extensions/spark/kyuubi-spark-connector-tpch/src/test/scala/org/apache/kyuubi/spark/connector/tpch/TPCHQuerySuite.scala
@@ -31,18 +31,18 @@ import
org.apache.kyuubi.spark.connector.common.LocalSparkSession.withSparkSessi
/**
* To run this test suite:
* {{{
- * KYUUBI_UPDATE=0 dev/gen/gen_tpcdh_queries.sh
+ * KYUUBI_UPDATE=0 dev/gen/gen_tpch_queries.sh
* }}}
*
* To re-generate golden files for this suite:
* {{{
- * dev/gen/gen_tpcdh_queries.sh
+ * dev/gen/gen_tpch_queries.sh
* }}}
*/
@Slow
class TPCHQuerySuite extends KyuubiFunSuite {
- val queries: Set[String] = (1 to 22).map(i => s"q$i").toSet
+ val queries: List[String] = (1 to 22).map(i => s"q$i").toList
test("run query on tiny") {
val viewSuffix = "view"
@@ -59,20 +59,15 @@ class TPCHQuerySuite extends KyuubiFunSuite {
in.close()
queryName -> queryContent
}.foreach { case (name, sql) =>
- try {
- val result = spark.sql(sql).collect()
- val schema = spark.sql(sql).schema
- val schemaDDL = LICENSE_HEADER + schema.toDDL + "\n"
- spark.createDataFrame(result.toList.asJava,
schema).createTempView(s"$name$viewSuffix")
- val sumHashResult = LICENSE_HEADER + spark.sql(
- s"select sum(hash(*)) from
$name$viewSuffix").collect().head.get(0) + "\n"
- val tuple = generateGoldenFiles("kyuubi/tpch", name, schemaDDL,
sumHashResult)
- assert(schemaDDL == tuple._1)
- assert(sumHashResult == tuple._2)
- } catch {
- case cause: Throwable =>
- fail(name, cause)
- }
+ val result = spark.sql(sql).collect()
+ val schema = spark.sql(sql).schema
+ val schemaDDL = LICENSE_HEADER + schema.toDDL + "\n"
+ spark.createDataFrame(result.toList.asJava,
schema).createTempView(s"$name$viewSuffix")
+ val sumHashResult = LICENSE_HEADER + spark.sql(
+ s"select sum(hash(*)) from $name$viewSuffix").collect().head.get(0)
+ "\n"
+ val tuple = generateGoldenFiles("kyuubi/tpch", name, schemaDDL,
sumHashResult)
+ assert(schemaDDL == tuple._1, s"query $name schema not match")
+ assert(sumHashResult == tuple._2, s"query $name result not match")
}
}
}