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

ferenc-csaky pushed a commit to branch v2.0
in repository https://gitbox.apache.org/repos/asf/flink-connector-mongodb.git


The following commit(s) were added to refs/heads/v2.0 by this push:
     new 515e833  [FLINK-39098] Fix v2.0 CI: Bump testcontainers to 1.21.4, 
Flink to 1.20.5 and drop 1.19
515e833 is described below

commit 515e833a1a87cf8e93c29392f12fe4dbb6cbd313
Author: Purushottam Sinha <[email protected]>
AuthorDate: Tue Oct 27 00:47:17 2026 +0530

    [FLINK-39098] Fix v2.0 CI: Bump testcontainers to 1.21.4, Flink to 1.20.5 
and drop 1.19
    
    Co-authored-by: Rahul Teke <[email protected]>
    Generated-by: Claude Code (claude-opus-5-5)
---
 .github/workflows/push_pr.yml                      |  2 +-
 docs/data/mongodb.yml                              |  2 +-
 .../flink/tests/util/mongodb/MongoE2ECase.java     |  8 +-
 .../connector/mongodb/table/MongoTablePlanTest.xml | 98 +++++++++++-----------
 pom.xml                                            |  4 +-
 5 files changed, 60 insertions(+), 54 deletions(-)

diff --git a/.github/workflows/push_pr.yml b/.github/workflows/push_pr.yml
index 37f8922..20124ed 100644
--- a/.github/workflows/push_pr.yml
+++ b/.github/workflows/push_pr.yml
@@ -29,7 +29,7 @@ jobs:
     strategy:
       matrix:
         mongodb: [ mongodb4, mongodb5, mongodb6, mongodb7 ]
-        flink: [ 1.19-SNAPSHOT, 1.20-SNAPSHOT ]
+        flink: [ 1.20-SNAPSHOT ]
         jdk: [ '8, 11, 17, 21' ]
 
     uses: apache/flink-connector-shared-utils/.github/workflows/ci.yml@ci_utils
diff --git a/docs/data/mongodb.yml b/docs/data/mongodb.yml
index bfb3a74..4f5654b 100644
--- a/docs/data/mongodb.yml
+++ b/docs/data/mongodb.yml
@@ -17,7 +17,7 @@
 
################################################################################
 
 version: 2.0.0
-flink_compatibility: [1.19, 1.20]
+flink_compatibility: [1.20]
 variants:
   - maven: flink-connector-mongodb
     sql_url: 
https://repo.maven.apache.org/maven2/org/apache/flink/flink-sql-connector-mongodb/$full_version/flink-sql-connector-mongodb-$full_version.jar
diff --git 
a/flink-connector-mongodb-e2e-tests/src/test/java/org/apache/flink/tests/util/mongodb/MongoE2ECase.java
 
b/flink-connector-mongodb-e2e-tests/src/test/java/org/apache/flink/tests/util/mongodb/MongoE2ECase.java
index 49e87be..bdb35cc 100644
--- 
a/flink-connector-mongodb-e2e-tests/src/test/java/org/apache/flink/tests/util/mongodb/MongoE2ECase.java
+++ 
b/flink-connector-mongodb-e2e-tests/src/test/java/org/apache/flink/tests/util/mongodb/MongoE2ECase.java
@@ -81,11 +81,17 @@ class MongoE2ECase {
                     .dependsOn(MONGO_CONTAINER)
                     .build();
 
+    // One TaskManager with two slots instead of two TaskManagers. 
FlinkContainers builds an image
+    // per TaskManager under the same tag and starts them in parallel, which 
intermittently fails
+    // with "pull access denied for flink-configured-taskmanager".
     @RegisterExtension
     private static final FlinkContainers FLINK =
             FlinkContainers.builder()
                     .withFlinkContainersSettings(
-                            
FlinkContainersSettings.builder().numTaskManagers(2).build())
+                            FlinkContainersSettings.builder()
+                                    .numTaskManagers(1)
+                                    .numSlotsPerTaskManager(2)
+                                    .build())
                     .withTestcontainersSettings(TESTCONTAINERS_SETTINGS)
                     .build();
 
diff --git 
a/flink-connector-mongodb/src/test/resources/org/apache/flink/connector/mongodb/table/MongoTablePlanTest.xml
 
b/flink-connector-mongodb/src/test/resources/org/apache/flink/connector/mongodb/table/MongoTablePlanTest.xml
index b40cb1f..5ef0b10 100644
--- 
a/flink-connector-mongodb/src/test/resources/org/apache/flink/connector/mongodb/table/MongoTablePlanTest.xml
+++ 
b/flink-connector-mongodb/src/test/resources/org/apache/flink/connector/mongodb/table/MongoTablePlanTest.xml
@@ -16,75 +16,75 @@ See the License for the specific language governing 
permissions and
 limitations under the License.
 -->
 <Root>
-  <TestCase name="testFilterPushdown">
-    <Resource name="sql">
-      <![CDATA[SELECT id, timestamp3_col, int_col FROM mongo WHERE id = 900001 
AND timestamp3_col <> TIMESTAMP '2022-09-07 10:25:28.127' OR double_col >= 
-1000.23]]>
-    </Resource>
-    <Resource name="ast">
-      <![CDATA[
+       <TestCase name="testFilterCannotPushdown">
+               <Resource name="sql">
+                       <![CDATA[SELECT id, timestamp3_col, int_col FROM mongo 
WHERE id IS NOT NULL OR double_col = decimal_col]]>
+               </Resource>
+               <Resource name="ast">
+                       <![CDATA[
 LogicalProject(id=[$0], timestamp3_col=[$4], int_col=[$5])
-+- LogicalFilter(condition=[OR(AND(=($0, 900001), <>($4, CAST(2022-09-07 
10:25:28.127:TIMESTAMP(3)):TIMESTAMP_WITH_LOCAL_TIME_ZONE(3) NOT NULL)), >=($6, 
-1000.23:DECIMAL(6, 2)))])
++- LogicalFilter(condition=[OR(IS NOT NULL($0), =($6, CAST($7):DOUBLE))])
    +- LogicalTableScan(table=[[default_catalog, default_database, mongo]])
 ]]>
-    </Resource>
-    <Resource name="optimized exec plan">
-      <![CDATA[
-TableSourceScan(table=[[default_catalog, default_database, mongo, 
filter=[and(OR(=(id, 900001:BIGINT), >=(double_col, -1000.23:DECIMAL(6, 2))), 
OR(<>(timestamp3_col, 2022-09-07 
10:25:28.127:TIMESTAMP_WITH_LOCAL_TIME_ZONE(3)), >=(double_col, 
-1000.23:DECIMAL(6, 2))))], project=[id, timestamp3_col, int_col]]], 
fields=[id, timestamp3_col, int_col])
+               </Resource>
+               <Resource name="optimized exec plan">
+                       <![CDATA[
+Calc(select=[id, timestamp3_col, int_col], where=[(id IS NOT NULL OR 
(double_col = CAST(decimal_col AS DOUBLE)))])
++- TableSourceScan(table=[[default_catalog, default_database, mongo, 
filter=[], project=[id, timestamp3_col, int_col, double_col, decimal_col]]], 
fields=[id, timestamp3_col, int_col, double_col, decimal_col])
 ]]>
-    </Resource>
-  </TestCase>
-  <TestCase name="testFilterPartialPushdown">
-    <Resource name="sql">
-      <![CDATA[SELECT id, timestamp3_col, int_col FROM mongo WHERE id = 900001 
AND boolean_col = (decimal_col > 2.0)]]>
-    </Resource>
-    <Resource name="ast">
-      <![CDATA[
+               </Resource>
+       </TestCase>
+       <TestCase name="testFilterPartialPushdown">
+               <Resource name="sql">
+                       <![CDATA[SELECT id, timestamp3_col, int_col FROM mongo 
WHERE id = 900001 AND boolean_col = (decimal_col > 2.0)]]>
+               </Resource>
+               <Resource name="ast">
+                       <![CDATA[
 LogicalProject(id=[$0], timestamp3_col=[$4], int_col=[$5])
 +- LogicalFilter(condition=[AND(=($0, 900001), =($2, >($7, 2.0:DECIMAL(2, 
1))))])
    +- LogicalTableScan(table=[[default_catalog, default_database, mongo]])
 ]]>
-    </Resource>
-    <Resource name="optimized exec plan">
-      <![CDATA[
+               </Resource>
+               <Resource name="optimized exec plan">
+                       <![CDATA[
 Calc(select=[CAST(900001 AS BIGINT) AS id, timestamp3_col, int_col], 
where=[(boolean_col = (decimal_col > 2.0))])
 +- TableSourceScan(table=[[default_catalog, default_database, mongo, 
filter=[=(id, 900001:BIGINT)], project=[boolean_col, timestamp3_col, int_col, 
decimal_col]]], fields=[boolean_col, timestamp3_col, int_col, decimal_col])
 ]]>
-    </Resource>
-  </TestCase>
-  <TestCase name="testFilterCannotPushdown">
-    <Resource name="sql">
-      <![CDATA[SELECT id, timestamp3_col, int_col FROM mongo WHERE id IS NOT 
NULL OR double_col = decimal_col]]>
-    </Resource>
-    <Resource name="ast">
-      <![CDATA[
+               </Resource>
+       </TestCase>
+       <TestCase name="testFilterPushdown">
+               <Resource name="sql">
+                       <![CDATA[SELECT id, timestamp3_col, int_col FROM mongo 
WHERE id = 900001 AND timestamp3_col <> TIMESTAMP '2022-09-07 10:25:28.127' OR 
double_col >= -1000.23]]>
+               </Resource>
+               <Resource name="ast">
+                       <![CDATA[
 LogicalProject(id=[$0], timestamp3_col=[$4], int_col=[$5])
-+- LogicalFilter(condition=[OR(IS NOT NULL($0), =($6, CAST($7):DOUBLE))])
++- LogicalFilter(condition=[OR(AND(=($0, 900001), <>($4, CAST(2022-09-07 
10:25:28.127:TIMESTAMP(3)):TIMESTAMP_WITH_LOCAL_TIME_ZONE(3) NOT NULL)), >=($6, 
-1000.23:DECIMAL(6, 2)))])
    +- LogicalTableScan(table=[[default_catalog, default_database, mongo]])
 ]]>
-    </Resource>
-    <Resource name="optimized exec plan">
-      <![CDATA[
-Calc(select=[id, timestamp3_col, int_col], where=[(id IS NOT NULL OR 
(double_col = CAST(decimal_col AS DOUBLE)))])
-+- TableSourceScan(table=[[default_catalog, default_database, mongo, 
filter=[], project=[id, timestamp3_col, int_col, double_col, decimal_col]]], 
fields=[id, timestamp3_col, int_col, double_col, decimal_col])
+               </Resource>
+               <Resource name="optimized exec plan">
+                       <![CDATA[
+TableSourceScan(table=[[default_catalog, default_database, mongo, 
filter=[and(OR(=(id, 900001:BIGINT), >=(double_col, -1000.23:DECIMAL(6, 2))), 
OR(<>(timestamp3_col, 2022-09-07 
10:25:28.127:TIMESTAMP_WITH_LOCAL_TIME_ZONE(3)), >=(double_col, 
-1000.23:DECIMAL(6, 2))))], project=[id, timestamp3_col, int_col]]], 
fields=[id, timestamp3_col, int_col])
 ]]>
-    </Resource>
-  </TestCase>
-  <TestCase name="testNeverFilterPushdown">
-    <Resource name="sql">
-      <![CDATA[SELECT id, timestamp3_col, int_col FROM mongo WHERE id = 900001 
AND decimal_col > 1.0]]>
-    </Resource>
-    <Resource name="ast">
-      <![CDATA[
+               </Resource>
+       </TestCase>
+       <TestCase name="testNeverFilterPushdown">
+               <Resource name="sql">
+                       <![CDATA[SELECT id, timestamp3_col, int_col FROM mongo 
WHERE id = 900001 AND decimal_col > 1.0]]>
+               </Resource>
+               <Resource name="ast">
+                       <![CDATA[
 LogicalProject(id=[$0], timestamp3_col=[$4], int_col=[$5])
 +- LogicalFilter(condition=[AND(=($0, 900001), >($7, 1.0:DECIMAL(2, 1)))])
    +- LogicalTableScan(table=[[default_catalog, default_database, mongo]])
 ]]>
-    </Resource>
-    <Resource name="optimized exec plan">
-      <![CDATA[
+               </Resource>
+               <Resource name="optimized exec plan">
+                       <![CDATA[
 Calc(select=[CAST(900001 AS BIGINT) AS id, timestamp3_col, int_col], 
where=[((id = 900001) AND (decimal_col > 1.0))])
 +- TableSourceScan(table=[[default_catalog, default_database, mongo, 
filter=[], project=[id, timestamp3_col, int_col, decimal_col]]], fields=[id, 
timestamp3_col, int_col, decimal_col])
 ]]>
-    </Resource>
-  </TestCase>
+               </Resource>
+       </TestCase>
 </Root>
diff --git a/pom.xml b/pom.xml
index 1ca11c3..bfc5a19 100644
--- a/pom.xml
+++ b/pom.xml
@@ -57,12 +57,12 @@ under the License.
                <mongodb7.version>7.0.12</mongodb7.version>
                <mongodb.version>${mongodb4.version}</mongodb.version>
 
-               <flink.version>1.20.0</flink.version>
+               <flink.version>1.20.5</flink.version>
                <scala.binary.version>2.12</scala.binary.version>
                <scala-library.version>2.12.7</scala-library.version>
                <junit5.version>5.8.1</junit5.version>
                <assertj.version>3.21.0</assertj.version>
-               <testcontainers.version>1.18.3</testcontainers.version>
+               <testcontainers.version>1.21.4</testcontainers.version>
                <commons-compress.version>1.26.1</commons-compress.version>
 
                <japicmp.skip>false</japicmp.skip>

Reply via email to