Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"comment": "Modify this file in a trivial way to cause this test suite to run",
"modification": 1
"modification": 2
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"comment": "Modify this file in a trivial way to cause this test suite to run",
"modification": 6
"modification": 7
}
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ jobs:
- name: Setup environment
uses: ./.github/actions/setup-environment-action
with:
java-version: default
java-version: '17'
python-version: default
- name: Set k8s access
uses: ./.github/actions/setup-k8s-access
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ jobs:
- name: Setup environment
uses: ./.github/actions/setup-environment-action
with:
java-version: default
java-version: '17'
python-version: |
3.10
3.14
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ jobs:
- name: Setup environment
uses: ./.github/actions/setup-environment-action
with:
java-version: default
java-version: '17'
python-version: |
3.10
3.14
Expand Down
4 changes: 4 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,10 @@
* (Python) Removed `google-perftools` from the SDK container images. Users who wish to use `--profiler_agent=tcmalloc` should install google-perftools APT package in their custom container images separately ([#39323](https://github.com/apache/beam/issues/39323)).
* `DoFn.process` returning a `str`, `bytes`, or `dict` (instead of an iterable wrapping one) now raises a `TypeError` rather than silently iterating per-character/byte/key (Python) ([#18712](https://github.com/apache/beam/issues/18712)).
* (Java) Added `DRAINING` and `DRAINED` states to `PipelineResult`, including runner state mappings and Dataflow update handling ([#39020](https://github.com/apache/beam/issues/39020)).
* (Python) Typehints of dataclass fields are honored during type inferences. To restore the behavior of fallback-to-any,
use pipeline option `--exclude_infer_dataclass_field_type` ([#38797](https://github.com/apache/beam/issues/38797)).
However fixing forward is recommended.
* (Java) IcebergIO now requires Java 17 at runtime. This raises the floor in preparation for the Iceberg 1.11.0 upgrade ([#38925](https://github.com/apache/beam/issues/38925)).

## Deprecations

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1257,20 +1257,26 @@ class BeamModulePlugin implements Plugin<Project> {
maxHeapSize = '2g'
}

// NOTE: Use the character class "[.]" instead of an escaped "\\." to match a literal dot in
// these Checker Framework -AskipDefs/-AskipUses regexes. When a module is compiled on an older
// host JDK and forked to a newer JDK via javaXXHome (e.g. iceberg's requireJavaVersion 17 on a
// Java 11 CI host), Gradle passes the javac arguments through an @argfile. Backslash escapes do
// not survive that round-trip intact, so "\\." becomes a literal-backslash regex that matches
// nothing and the suppression is silently dropped. "[.]" is backslash-free and survives.
List<String> skipDefRegexes = []
skipDefRegexes << "AutoValue_.*"
skipDefRegexes << "AutoBuilder_.*"
skipDefRegexes << "AutoOneOf_.*"
skipDefRegexes << ".*\\.jmh_generated\\..*"
skipDefRegexes << ".*[.]jmh_generated[.].*"
skipDefRegexes += configuration.generatedClassPatterns
skipDefRegexes += configuration.classesTriggerCheckerBugs.keySet()
String skipDefCombinedRegex = skipDefRegexes.collect({ regex -> "(${regex})"}).join("|")

List<String> skipUsesRegexes = []
// zstd-jni is not annotated, handles Zstd(De)CompressCtx.loadDict(null) just fine
skipUsesRegexes << "^com\\.github\\.luben\\.zstd\\..*"
skipUsesRegexes << "^com[.]github[.]luben[.]zstd[.].*"
// SLF4J logger handles null log message parameters
skipUsesRegexes << "^org\\.slf4j\\.Logger.*"
skipUsesRegexes << "^org[.]slf4j[.]Logger.*"
String skipUsesCombinedRegex = skipUsesRegexes.collect({ regex -> "(${regex})"}).join("|")

project.apply plugin: 'org.checkerframework'
Expand Down
4 changes: 2 additions & 2 deletions examples/java/iceberg/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ plugins {
applyJavaNature(
exportJavadoc: false,
automaticModuleName: 'org.apache.beam.examples.iceberg',
// iceberg requires Java11+
requireJavaVersion: JavaVersion.VERSION_11
// iceberg requires Java17+
requireJavaVersion: JavaVersion.VERSION_17
)

description = "Apache Beam :: Examples :: Java :: Iceberg"
Expand Down
4 changes: 2 additions & 2 deletions it/iceberg/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ plugins { id 'org.apache.beam.module' }
applyJavaNature(
automaticModuleName: 'org.apache.beam.it.iceberg',
exportJavadoc: false,
// iceberg ended support for Java 8 in 1.7.0
requireJavaVersion: JavaVersion.VERSION_11,
// iceberg ended support for Java 11 in 1.11.0
requireJavaVersion: JavaVersion.VERSION_17,
)

description = "Apache Beam :: IT :: Iceberg"
Expand Down
4 changes: 2 additions & 2 deletions sdks/java/extensions/sql/iceberg/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ plugins { id 'org.apache.beam.module' }

applyJavaNature(
automaticModuleName: 'org.apache.beam.sdk.extensions.sql.meta.provider.hcatalog',
// iceberg requires Java11+
requireJavaVersion: JavaVersion.VERSION_11,
// iceberg requires Java17+
requireJavaVersion: JavaVersion.VERSION_17,
)

dependencies {
Expand Down
4 changes: 2 additions & 2 deletions sdks/java/io/iceberg/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ import java.util.stream.Collectors
plugins { id 'org.apache.beam.module' }
applyJavaNature(
automaticModuleName: 'org.apache.beam.sdk.io.iceberg',
// iceberg ended support for Java 8 in 1.7.0
requireJavaVersion: JavaVersion.VERSION_11,
// iceberg ended support for Java 11 in 1.11.0
requireJavaVersion: JavaVersion.VERSION_17,
)

description = "Apache Beam :: SDKs :: Java :: IO :: Iceberg"
Expand Down
Loading