This is an automated email from the ASF dual-hosted git repository.
yhu pushed a commit to branch addjava21
in repository https://gitbox.apache.org/repos/asf/beam.git
The following commit(s) were added to refs/heads/addjava21 by this push:
new 1e1e72e1410 Disable Debezium test on Java17-
1e1e72e1410 is described below
commit 1e1e72e141070c885ca962bf7b6f85b9e9aaadec
Author: Yi Hu <[email protected]>
AuthorDate: Thu Jun 12 11:19:39 2025 -0400
Disable Debezium test on Java17-
---
.../io/external/xlang_debeziumio_it_test.py | 22 ++++++++++++++++++++
sdks/python/test-suites/portable/common.gradle | 24 +++++++++++++---------
2 files changed, 36 insertions(+), 10 deletions(-)
diff --git a/sdks/python/apache_beam/io/external/xlang_debeziumio_it_test.py
b/sdks/python/apache_beam/io/external/xlang_debeziumio_it_test.py
index f343f88ec80..4c883447a0a 100644
--- a/sdks/python/apache_beam/io/external/xlang_debeziumio_it_test.py
+++ b/sdks/python/apache_beam/io/external/xlang_debeziumio_it_test.py
@@ -16,6 +16,7 @@
#
import logging
+import subprocess
import unittest
from apache_beam.io.debezium import DriverClassName
@@ -24,6 +25,7 @@ from apache_beam.options.pipeline_options import
StandardOptions
from apache_beam.testing.test_pipeline import TestPipeline
from apache_beam.testing.util import assert_that
from apache_beam.testing.util import equal_to
+from apache_beam.utils import subprocess_server
# pylint: disable=wrong-import-order, wrong-import-position, ungrouped-imports
try:
@@ -34,12 +36,32 @@ except ImportError:
NUM_RECORDS = 1
+def _disable_debezium_test():
+ # disable if run on <Java17
+ try:
+ java = subprocess_server.JavaHelper.get_java()
+ result = subprocess.run([java, '-version'],
+ check=True,
+ capture_output=True,
+ text=True)
+ version_line = result.stderr.splitlines()[0]
+
+ version = version_line.split()[2].strip('\"')
+ if int(version.split(".")[0]) < 17:
+ return True
+ except: # pylint: disable=bare-except
+ return False
+
+
@unittest.skipIf(
PostgresContainer is None, 'testcontainers package is not installed')
@unittest.skipIf(
TestPipeline().get_pipeline_options().view_as(StandardOptions).runner
is None,
'Do not run this test on precommit suites.')
[email protected](
+ _disable_debezium_test(),
+ 'Debezium test requires Java17+ in PATH or JAVA_HOME')
class CrossLanguageDebeziumIOTest(unittest.TestCase):
def setUp(self):
self.username = 'debezium'
diff --git a/sdks/python/test-suites/portable/common.gradle
b/sdks/python/test-suites/portable/common.gradle
index a6bff7f4fbd..cc57a5942d2 100644
--- a/sdks/python/test-suites/portable/common.gradle
+++ b/sdks/python/test-suites/portable/common.gradle
@@ -369,11 +369,24 @@ project.tasks.register("prismExamples") {
}
project.tasks.register("postCommitPy${pythonVersionSuffix}IT") {
+ String fork_java_home = null
+ String fork_java_version = currentJavaVersion
+ // DebeziumIO needs Java17+
+ if (JavaVersion.current() < JavaVersion.VERSION_17) {
+ if (project.hasProperty("java17Home")) {
+ fork_java_version = 'java17'
+ fork_java_home = project.getProperty("java17Home")
+ } else if (project.hasProperty("java21Home")) {
+ fork_java_version = 'java21'
+ fork_java_home = project.getProperty("java21Home")
+ }
+ }
+
dependsOn = [
'setupVirtualenv',
'installGcpTest',
":runners:flink:${latestFlinkVersion}:job-server:shadowJar",
- ":sdks:java:container:${currentJavaVersion}:docker",
+ ":sdks:java:container:${fork_java_version}:docker",
':sdks:java:testing:kafka-service:buildTestKafkaServiceJar',
':sdks:java:io:expansion-service:shadowJar',
':sdks:java:io:google-cloud-platform:expansion-service:shadowJar',
@@ -413,15 +426,6 @@
project.tasks.register("postCommitPy${pythonVersionSuffix}IT") {
])
def kafkaJar =
project(":sdks:java:testing:kafka-service:").buildTestKafkaServiceJar.archivePath
- String fork_java_home = null
- if (JavaVersion.current() < JavaVersion.VERSION_17) {
- if (project.hasProperty("java17Home")) {
- fork_java_home = project.getProperty("java17Home")
- } else if (project.hasProperty("java21Home")) {
- fork_java_home = project.getProperty("java21Home")
- }
- }
-
exec {
if (fork_java_home != null) {
environment "JAVA_HOME", fork_java_home