Skip to content

Conversation

@Abacn
Copy link
Contributor

@Abacn Abacn commented Jan 13, 2026

No description provided.

@gemini-code-assist
Copy link

Summary of Changes

Hello @Abacn, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request performs a comprehensive update of the Apache Beam framework to its 2.71.0rc1 release candidate across both Java and Python components. This upgrade involves a significant cascade of updates to numerous other Python libraries, introduces new gRPC-related dependencies, and refines the explicit management of the Google Cloud Spanner dependency within the Java build system. Additionally, minor build configuration adjustments and path corrections are included.

Highlights

  • Apache Beam Version Update: The Apache Beam version has been updated to 2.71.0rc1 across both Java and Python dependencies, including beam.version and beam-python.version in pom.xml files and apache-beam[gcp] in Python requirements.txt files.
  • Google Cloud Spanner Dependency Management: Google Cloud Spanner dependency 6.104.0 is now explicitly managed in Java pom.xml files, with exclusions added to prevent transitive dependency conflicts from beam-sdks-java-io-google-cloud-platform.
  • Python Dependency Upgrades: Numerous Python dependencies have been upgraded to newer versions, including beartype, google-cloud-bigquery, google-genai, jsonschema, numpy, pymongo, testcontainers, and urllib3.
  • New Python gRPC-related Dependencies: Several new Python dependencies related to gRPC communication have been introduced, such as betterproto, envoy-data-plane, grpclib, h2, hpack, and hyperframe.
  • Maven Profile Activation Change: The validateCandidate Maven profile activation logic has been updated to be active for JDK versions 1 and above.
  • Python Requirements File Path Corrections: Minor corrections were made to the pip-compile command output paths in several Python requirements files.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@codecov
Copy link

codecov bot commented Jan 14, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 50.86%. Comparing base (cb0b95f) to head (77b921d).
⚠️ Report is 4 commits behind head on main.

Additional details and impacted files
@@             Coverage Diff              @@
##               main    #3217      +/-   ##
============================================
+ Coverage     50.84%   50.86%   +0.01%     
- Complexity     5133     5513     +380     
============================================
  Files           976      976              
  Lines         60099    60099              
  Branches       6574     6574              
============================================
+ Hits          30557    30568      +11     
+ Misses        27390    27380      -10     
+ Partials       2152     2151       -1     
Components Coverage Δ
spanner-templates 71.00% <ø> (+0.03%) ⬆️
spanner-import-export 68.99% <ø> (+0.12%) ⬆️
spanner-live-forward-migration 80.10% <ø> (-0.02%) ⬇️
spanner-live-reverse-replication 77.71% <ø> (-0.07%) ⬇️
spanner-bulk-migration 88.43% <ø> (-0.02%) ⬇️
see 7 files with indirect coverage changes
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

<artifactId>google-cloud-spanner</artifactId>
<version>6.104.0</version>
<type>test-jar</type>
<scope>test</scope>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this might be what is breaking unit tests:

2026-01-14T15:29:38.1019565Z [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.11.0:testCompile (default-testCompile) on project googlecloud-to-googlecloud: Compilation failure: Compilation failure: 
2026-01-14T15:29:38.1022228Z [ERROR] /home/runner/actions-runner/_work/DataflowTemplates/DataflowTemplates/v2/googlecloud-to-googlecloud/src/test/java/com/google/cloud/teleport/v2/spanner/SpannerTestHelper.java:[20,32] cannot find symbol
2026-01-14T15:29:38.1023717Z [ERROR]   symbol:   class MockSpannerServiceImpl
2026-01-14T15:29:38.1024284Z [ERROR]   location: package com.google.cloud.spanner
2026-01-14T15:29:38.1026128Z [ERROR] /home/runner/actions-runner/_work/DataflowTemplates/DataflowTemplates/v2/googlecloud-to-googlecloud/src/test/java/com/google/cloud/teleport/v2/spanner/SpannerTestHelper.java:[21,55] package com.google.cloud.spanner.MockSpannerServiceImpl does not exist
2026-01-14T15:29:38.1028937Z [ERROR] /home/runner/actions-runner/_work/DataflowTemplates/DataflowTemplates/v2/googlecloud-to-googlecloud/src/test/java/com/google/cloud/teleport/v2/spanner/SpannerTestHelper.java:[48,11] cannot find symbol
2026-01-14T15:29:38.1030465Z [ERROR]   symbol:   class MockSpannerServiceImpl
2026-01-14T15:29:38.1031174Z [ERROR]   location: class com.google.cloud.teleport.v2.spanner.SpannerTestHelper
2026-01-14T15:29:38.1031988Z [ERROR] -> [Help 1]
2026-01-14T15:29:38.1033487Z org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.11.0:testCompile (default-testCompile) on project googlecloud-to-googlecloud: Compilation failure
2026-01-14T15:29:38.1035473Z     at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:333)
2026-01-14T15:29:38.1036663Z     at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:316)
2026-01-14T15:29:38.1037791Z     at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:212)
2026-01-14T15:29:38.1039144Z     at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:174)
2026-01-14T15:29:38.1040277Z     at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:75)
2026-01-14T15:29:38.1041451Z     at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:162)
2026-01-14T15:29:38.1042994Z     at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39)
2026-01-14T15:29:38.1044287Z     at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:159)
2026-01-14T15:29:38.1045664Z     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105)
2026-01-14T15:29:38.1047346Z     at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call (MultiThreadedBuilder.java:193)
2026-01-14T15:29:38.1049149Z     at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call (MultiThreadedBuilder.java:180)
2026-01-14T15:29:38.1050394Z     at java.util.concurrent.FutureTask.run (FutureTask.java:264)
2026-01-14T15:29:38.1051412Z     at java.util.concurrent.Executors$RunnableAdapter.call (Executors.java:539)
2026-01-14T15:29:38.1052536Z     at java.util.concurrent.FutureTask.run (FutureTask.java:264)
2026-01-14T15:29:38.1053521Z     at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1136)
2026-01-14T15:29:38.1054621Z     at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:635)
2026-01-14T15:29:38.1055411Z     at java.lang.Thread.run (Thread.java:840)
2026-01-14T15:29:38.1056211Z Caused by: org.apache.maven.plugin.compiler.CompilationFailureException: Compilation failure
2026-01-14T15:29:38.1057541Z     at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute (AbstractCompilerMojo.java:1212)
2026-01-14T15:29:38.1058827Z     at org.apache.maven.plugin.compiler.TestCompilerMojo.execute (TestCompilerMojo.java:199)
2026-01-14T15:29:38.1060206Z     at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:126)
2026-01-14T15:29:38.1061519Z     at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:328)
2026-01-14T15:29:38.1062842Z     at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:316)
2026-01-14T15:29:38.1064107Z     at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:212)
2026-01-14T15:29:38.1065251Z     at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:174)
2026-01-14T15:29:38.1066377Z     at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:75)
2026-01-14T15:29:38.1067493Z     at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:162)
2026-01-14T15:29:38.1068782Z     at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39)
2026-01-14T15:29:38.1070132Z     at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:159)
2026-01-14T15:29:38.1071516Z     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105)
2026-01-14T15:29:38.1073335Z     at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call (MultiThreadedBuilder.java:193)
2026-01-14T15:29:38.1075081Z     at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call (MultiThreadedBuilder.java:180)
2026-01-14T15:29:38.1076313Z     at java.util.concurrent.FutureTask.run (FutureTask.java:264)
2026-01-14T15:29:38.1077171Z     at java.util.concurrent.Executors$RunnableAdapter.call (Executors.java:539)
2026-01-14T15:29:38.1078035Z     at java.util.concurrent.FutureTask.run (FutureTask.java:264)
2026-01-14T15:29:38.1078987Z     at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1136)
2026-01-14T15:29:38.1080141Z     at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:635)
2026-01-14T15:29:38.1081073Z     at java.lang.Thread.run (Thread.java:840)
2026-01-14T15:29:38.1081511Z [ERROR] 
2026-01-14T15:29:38.1082097Z [ERROR] Re-run Maven using the -X switch to enable full debug logging.
2026-01-14T15:29:38.1082626Z [ERROR] 
2026-01-14T15:29:38.1083287Z [ERROR] For more information about the errors and possible solutions, please read the following articles:
2026-01-14T15:29:38.1084318Z [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
2026-01-14T15:29:38.1084953Z [ERROR] 
2026-01-14T15:29:38.1085436Z [ERROR] After correcting the problems, you can resume the build with the command
2026-01-14T15:29:38.1086155Z [ERROR]   mvn <args> -rf :googlecloud-to-googlecloud

Copy link
Contributor Author

@Abacn Abacn Jan 14, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah you are right, here it also depends using test jar.

Good news is Spanner PR (not affected by this pom change) does succeed: https://github.com/GoogleCloudPlatform/DataflowTemplates/actions/runs/20999239717/job/60366749767?pr=3217

@damccorm
Copy link
Contributor

Looks good :)

@Abacn Abacn closed this Jan 15, 2026
@Abacn Abacn deleted the pr-3204 branch January 15, 2026 15:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants