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

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


The following commit(s) were added to refs/heads/master by this push:
     new 61a94bd6d97 TPC-DS suite follow ups (#40741)
61a94bd6d97 is described below

commit 61a94bd6d97b8426139a596343a1278872ba1e8e
Author: Yi Hu <[email protected]>
AuthorDate: Fri Oct 23 16:27:01 2026 -0400

    TPC-DS suite follow ups (#40741)
---
 .../beam_PostCommit_Java_Tpcds_Flink.json          |  2 +-
 .../beam_PostCommit_Java_Tpcds_Spark.json          |  2 +-
 .../beam_PostCommit_Python_Tpcds_Prism.json        |  1 +
 sdks/java/testing/tpcds/build.gradle               |  1 +
 .../beam/sdk/tpcds/TpcdsParametersReader.java      |  2 +-
 .../tpcds/src/main/resources/log4j2.properties     | 28 ++++++++++++++++++++++
 .../tpcds/src/main/resources/logging.properties    | 24 +++++++++++++++++++
 .../testing/benchmarks/tpcds/tpcds_launcher.py     | 13 +++++++---
 .../testing/benchmarks/tpcds/tpcds_queries.py      | 12 ++++------
 .../testing/benchmarks/tpcds/tpcds_test.py         |  3 ---
 10 files changed, 72 insertions(+), 16 deletions(-)

diff --git a/.github/trigger_files/beam_PostCommit_Java_Tpcds_Flink.json 
b/.github/trigger_files/beam_PostCommit_Java_Tpcds_Flink.json
index b2683333323..c537844dc84 100644
--- a/.github/trigger_files/beam_PostCommit_Java_Tpcds_Flink.json
+++ b/.github/trigger_files/beam_PostCommit_Java_Tpcds_Flink.json
@@ -1,4 +1,4 @@
 {
   "comment": "Modify this file in a trivial way to cause this test suite to 
run",
-  "modification": 2
+  "modification": 3
 }
diff --git a/.github/trigger_files/beam_PostCommit_Java_Tpcds_Spark.json 
b/.github/trigger_files/beam_PostCommit_Java_Tpcds_Spark.json
index b2683333323..c537844dc84 100644
--- a/.github/trigger_files/beam_PostCommit_Java_Tpcds_Spark.json
+++ b/.github/trigger_files/beam_PostCommit_Java_Tpcds_Spark.json
@@ -1,4 +1,4 @@
 {
   "comment": "Modify this file in a trivial way to cause this test suite to 
run",
-  "modification": 2
+  "modification": 3
 }
diff --git a/.github/trigger_files/beam_PostCommit_Python_Tpcds_Prism.json 
b/.github/trigger_files/beam_PostCommit_Python_Tpcds_Prism.json
new file mode 100644
index 00000000000..0967ef424bc
--- /dev/null
+++ b/.github/trigger_files/beam_PostCommit_Python_Tpcds_Prism.json
@@ -0,0 +1 @@
+{}
diff --git a/sdks/java/testing/tpcds/build.gradle 
b/sdks/java/testing/tpcds/build.gradle
index 60c2f8bfdd8..4fe0f936fb3 100644
--- a/sdks/java/testing/tpcds/build.gradle
+++ b/sdks/java/testing/tpcds/build.gradle
@@ -158,6 +158,7 @@ task run(type: JavaExec) {
     jvmArgs += sparkJvmArgs()
   }
 
+    systemProperty "java.util.logging.config.file", 
"${project.projectDir}/src/main/resources/logging.properties"
     mainClass = "org.apache.beam.sdk.tpcds.BeamTpcds"
     classpath = configurations.gradleRun
     args tpcdsArgsList.toArray()
diff --git 
a/sdks/java/testing/tpcds/src/main/java/org/apache/beam/sdk/tpcds/TpcdsParametersReader.java
 
b/sdks/java/testing/tpcds/src/main/java/org/apache/beam/sdk/tpcds/TpcdsParametersReader.java
index a2a451b554e..1dc71bdc734 100644
--- 
a/sdks/java/testing/tpcds/src/main/java/org/apache/beam/sdk/tpcds/TpcdsParametersReader.java
+++ 
b/sdks/java/testing/tpcds/src/main/java/org/apache/beam/sdk/tpcds/TpcdsParametersReader.java
@@ -42,7 +42,7 @@ public class TpcdsParametersReader {
               "1", "3", "4", "7", "9", "10", "11", "12", "15", "17", "19", 
"20", "21", "26", "31",
               "32", "33", "34", "35", "38", "40", "42", "43", "45", "46", 
"49", "50", "52", "53",
               "55", "56", "59", "60", "61", "63", "65", "66", "68", "69", 
"71", "73", "74", "75",
-              "76", "79", "82", "84", "87", "88", "89", "92", "93", "96", 
"97", "99")
+              "76", "79", "82", "84", "87", "88", "89", "90", "92", "93", 
"96", "97", "98", "99")
           .map(s -> QUERY_PREFIX + s)
           .collect(Collectors.toList());
 
diff --git a/sdks/java/testing/tpcds/src/main/resources/log4j2.properties 
b/sdks/java/testing/tpcds/src/main/resources/log4j2.properties
new file mode 100644
index 00000000000..d11ea2f2291
--- /dev/null
+++ b/sdks/java/testing/tpcds/src/main/resources/log4j2.properties
@@ -0,0 +1,28 @@
+################################################################################
+#  Licensed to the Apache Software Foundation (ASF) under one
+#  or more contributor license agreements.  See the NOTICE file
+#  distributed with this work for additional information
+#  regarding copyright ownership.  The ASF licenses this file
+#  to you under the Apache License, Version 2.0 (the
+#  "License"); you may not use this file except in compliance
+#  with the License.  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+# limitations under the License.
+################################################################################
+
+rootLogger.level = info
+rootLogger.appenderRef.console.ref = console
+
+appender.console.type = Console
+appender.console.name = console
+appender.console.layout.type = PatternLayout
+appender.console.layout.pattern = %d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n%ex
+
+logger.spark.name = org.apache.spark
+logger.spark.level = warn
diff --git a/sdks/java/testing/tpcds/src/main/resources/logging.properties 
b/sdks/java/testing/tpcds/src/main/resources/logging.properties
new file mode 100644
index 00000000000..3fb18b13bea
--- /dev/null
+++ b/sdks/java/testing/tpcds/src/main/resources/logging.properties
@@ -0,0 +1,24 @@
+################################################################################
+#  Licensed to the Apache Software Foundation (ASF) under one
+#  or more contributor license agreements.  See the NOTICE file
+#  distributed with this work for additional information
+#  regarding copyright ownership.  The ASF licenses this file
+#  to you under the Apache License, Version 2.0 (the
+#  "License"); you may not use this file except in compliance
+#  with the License.  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+# limitations under the License.
+################################################################################
+
+handlers = java.util.logging.ConsoleHandler
+.level = INFO
+org.apache.flink.level = WARNING
+org.apache.flink.runtime.level = SEVERE
+org.apache.flink.metrics.level = SEVERE
+org.apache.flink.streaming.level = SEVERE
diff --git a/sdks/python/apache_beam/testing/benchmarks/tpcds/tpcds_launcher.py 
b/sdks/python/apache_beam/testing/benchmarks/tpcds/tpcds_launcher.py
index 280226cd00e..df6f16d6598 100644
--- a/sdks/python/apache_beam/testing/benchmarks/tpcds/tpcds_launcher.py
+++ b/sdks/python/apache_beam/testing/benchmarks/tpcds/tpcds_launcher.py
@@ -240,7 +240,7 @@ def run_single_query(
       elapsed = time.monotonic() - t0
       end_dt = datetime.datetime.now(datetime.timezone.utc)
       err_str = str(exc)
-      first_line = err_str.splitlines()[0] if err_str else repr(exc)
+      first_line = err_str.splitlines()[0]
       for line in err_str.splitlines():
         if "UnsupportedOperationException" in line or "CannotPlanException" in 
line:
           first_line = line.strip()
@@ -256,7 +256,7 @@ def run_single_query(
           start_time=start_dt.strftime("%Y-%m-%dT%H:%M:%SZ"),
           end_time=end_dt.strftime("%Y-%m-%dT%H:%M:%SZ"),
           elapsed_sec=round(elapsed, 3),
-          error_message=first_line,
+          error_message=err_str,
       )
 
 
@@ -273,7 +273,14 @@ def format_summary_table(results: 
Sequence[TpcdsQueryResult]) -> str:
   ]
   rows = []
   for r in results:
-    note = f"Returned {r.row_count} row(s)" if r.is_successful else 
r.error_message
+    if r.is_successful:
+      note = f"Returned {r.row_count} row(s)"
+    else:
+      note = r.error_message.splitlines()[0] if r.error_message else ""
+      for line in r.error_message.splitlines():
+        if "UnsupportedOperationException" in line or "CannotPlanException" in 
line:
+          note = line.strip()
+          break
     if len(note) > 85:
       note = note[:82] + "..."
     rows.append([
diff --git a/sdks/python/apache_beam/testing/benchmarks/tpcds/tpcds_queries.py 
b/sdks/python/apache_beam/testing/benchmarks/tpcds/tpcds_queries.py
index e7d45fc57d4..fd114cefe25 100644
--- a/sdks/python/apache_beam/testing/benchmarks/tpcds/tpcds_queries.py
+++ b/sdks/python/apache_beam/testing/benchmarks/tpcds/tpcds_queries.py
@@ -34,8 +34,8 @@ CANONICAL_13_QUERIES: List[str] = [
     "3", "7", "13", "15", "19", "26", "42", "43", "48", "52", "55", "91", "96"
 ]
 
-# The 55 TPC-DS queries supported by Beam Calcite SQL (returning > 0 rows).
-# Together with KNOWN_FAILING_QUERIES (48 queries), this partitions all 103 
TPC-DS queries.
+# TPC-DS queries supported by Beam Calcite SQL (returning > 0 rows).
+# Together with KNOWN_FAILING_QUERIES, this partitions all 103 TPC-DS queries.
 # yapf: disable
 SUPPORTED_QUERIES: List[str] = [
     "1", "3", "4", "7", "9", "10", "11", "12", "15", "17",
@@ -43,13 +43,13 @@ SUPPORTED_QUERIES: List[str] = [
     "40", "42", "43", "45", "46", "49", "50", "52", "53", "55",
     "56", "59", "60", "61", "63", "65", "66", "68", "69", "71",
     "73", "74", "75", "76", "79", "82", "84", "87", "88", "89",
-    "92", "93", "96", "97", "99",
+    "90", "92", "93", "96", "97", "98", "99",
 ]
 # yapf: enable
 
-# The 48 known failing TPC-DS queries on Beam Calcite SQL with their expected 
error substring.
+# Known failing TPC-DS queries on Beam Calcite SQL with their expected error 
substring.
 # Used by `--check_regression` and 
`:sdks:python:apache_beam:testing:benchmarks:tpcds:checkAllQueries`
-# to verify that all 55 SUPPORTED_QUERIES succeed on PrismRunner and that the 
remaining 48 known
+# to verify that all SUPPORTED_QUERIES succeed on PrismRunner and that the 
remaining known
 # failing queries fail with their expected diagnostic without regressing.
 # pylint: disable=line-too-long
 KNOWN_FAILING_QUERIES: Dict[str, str] = {
@@ -96,11 +96,9 @@ KNOWN_FAILING_QUERIES: Dict[str, str] = {
     "query83": "Error decoding input stream with coder",
     "query85": "Returned 0 rows",
     "query86": "Error while applying rule BeamBasicAggregationRule",
-    "query90": "CalcFn failed to evaluate",
     "query91": "VolcanoPlanner timeout (7-table join permutation search)",
     "query94": "Error while applying rule JoinPushExpressionsRule",
     "query95": "Error while applying rule JoinPushExpressionsRule",
-    "query98": "IllegalArgumentException: DECIMAL NOT NULL is not nullable",
 }
 # pylint: enable=line-too-long
 
diff --git a/sdks/python/apache_beam/testing/benchmarks/tpcds/tpcds_test.py 
b/sdks/python/apache_beam/testing/benchmarks/tpcds/tpcds_test.py
index b19da0f6268..f7630d19616 100644
--- a/sdks/python/apache_beam/testing/benchmarks/tpcds/tpcds_test.py
+++ b/sdks/python/apache_beam/testing/benchmarks/tpcds/tpcds_test.py
@@ -47,9 +47,6 @@ class TpcdsUnitTest(unittest.TestCase):
         tpcds_queries.PLANNER_TIMEOUT_QUERIES.issubset(failing_queries))
     self.assertEqual(supported_queries & failing_queries, set())
     self.assertEqual(supported_queries | failing_queries, all_queries)
-    # 55 supported + 48 known failing = 103 total queries
-    self.assertEqual(len(supported_queries), 55)
-    self.assertEqual(len(failing_queries), 48)
 
   def test_query_selection_and_normalization(self):
     qnames = tpcds_queries.parse_query_selection("canonical13")

Reply via email to