Repository navigation
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Dependency upgrades and lib/core cleanup
Upgrades third-party dependencies to their latest patch/minor releases, and removes duplicate and conflicting jars from the assemblies.
Upgrades
lib/pom.xml,lib-jdbcand the plugin poms, among them the AWS SDK (2.20 → 2.56, now one version through the AWS BOM), Netty, OpenTelemetry, Jetty, Jersey, SWT/RAP, the JDBC drivers, Parquet, Tika 3.3.3 and OpenLineage 1.54.LICENSE, and the Snowflake docs page now match the bundled drivers.lib/core(Jackson, protobuf/gRPC, Hadoop, Kafka), are unchanged. ZooKeeper is the exception: it moves to 3.9.6, replacing the end-of-life 3.6.3 that Beam's Spark runner brought.One version per library in lib/core
lib/coreis a single classloader, so two versions of a jar there means whichever is listed first wins.lib/pom.xmlnow manages the libraries that used to land inlib/corein several versions: google-auth, api-common, proto-google-common-protos, animal-sniffer, failureaccess, httpcore5, jaxb-api, jcl-over-slf4j, snappy-java, Parquet, Log4j (throughlog4j-bom) and more.lib/corealready has. They declare themprovided(JMS, Kafka, Lakehouse, OpenLineage, LanguageModelChat, Cassandra, Stanford NLP and others), or, for Spark, exclude them in the assembly. Spark keeps its own Spark 4 / Scala 2.13 stack.lib/core. Spark's oldorg.lz4:lz4-javais replaced by the maintainedat.yawk.lz4fork.lib/core: JUnit 4.10 throughjson-simple,reload4jthrough Hadoop. Hamcrest stays: Beam'sPipelineOptionsFactoryneeds it at startup.Fixes found by the integration tests
jackson-module-blackbird2.18. The Beam fat jar bundles it, and it breaks on Spark 3.5 executors (jackson-databind 2.15), which shows up as aserialVersionUIDmismatch. It is now pinned to 2.15.3.golden-apache-tika.csvis updated inmdiandtransforms. Tika 3.3.3 extracts three Office documents slightly differently: it keeps a soft hyphen, drops a trailing newline, and puts a space between hyperlinks.protobuf-javaliteis excluded fromgrpc-protobuf-litein hop-core. It clashed withprotobuf-javainlib/coreand causedNoSuchMethodError: DurationProto.getDescriptor().mongodwrapper now only uses qemu on x86_64 hosts.New: GCS upload buffer size for Dataflow
Beam stages the fat jar in 1 MB chunks by default, one request per chunk, which caps staging at about 1 MB/s from a laptop. The Dataflow run configuration has a new GCS upload buffer size (MB) field. When it's empty, 128 MB is used. It is documented in the Dataflow run configuration page.
Testing
spark,spark-native,mongo, both Tika tests,beam_directrunner0006,samples0001, andtransforms0102/0109/0111/0112.protobuf-javaliteexclusion and the GCS upload buffer field. Both still need a GCP integration test run. The Google Sheets tests were skipped because there was no service-account key.🤖 Generated with Claude Code
Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:
mvn clean install apache-rat:checkto make sure basic checks pass. A more thorough check will be performed on your pull request automatically.git rebase -i.addresses #123), if applicable.To make clear that you license your contribution under the Apache License Version 2.0, January 2004
you have to acknowledge this by using the following check-box.