GoogleCloudPlatform / DataflowJavaSDK

Google Cloud Dataflow provides a simple, powerful model for building both batch and streaming parallel data processing pipelines.
http://cloud.google.com/dataflow
855 stars 324 forks source link

Recommended version range for the Dataflow SDK may pick up a new, incompatible version #530

Open francesperry opened 7 years ago

francesperry commented 7 years ago

TL;DR: Existing Maven projects that use the recommended version range for the Google Cloud Dataflow SDK for Java may soon pick up a new version that causes breakages at the next compile attempt. Any projects past the compile time, including currently running jobs, are not affected.

We have just released Dataflow SDK for Java, version 2.0.0-beta1, which is an early preview of our upcoming 2.0.0 release and, as a new major version, contains APIs that are not compatible with previous 1.x releases. Unfortunately, the Maven version range we have been recommending [1.0.0, 2.0.0) in our documentation may automatically pick up this new 2.0.0-beta1 version, resulting in errors at compile time such as the following:

[ERROR] /tmp/first-dataflow/src/main/java/com/google/cloud/dataflow/examples/common/DataflowExampleUtils.java:[30,37] cannot find symbol
[ERROR] symbol:   class Pipeline
[ERROR] location: package com.google.cloud.dataflow.sdk

There is no effect on users that have hardcoded a specific version of the Dataflow SDK for Java.

If you are affected, update your Maven pom.xml to use a version range that precludes anything in the 2.x family, for example by using [1.0.0, 1.99), as follows:

<dependency>
  <groupId>com.google.cloud.dataflow</groupId>
  <artifactId>google-cloud-dataflow-java-sdk-all</artifactId>
  <version>[1.0.0,1.99)</version>
</dependency>

This will fix your compile issues and allow you to continue with the most recent production-ready release, 1.9.0.

Separately, if you are interested in learning more about the 2.0.0-beta1 release, see its release notes. Please be aware that it is an early preview and has corresponding caveats about API stability, support timelines, and documentation. We will be sharing more about the 2.x family as we get closer to API stability and production readiness with 2.0.0.

The stability of the Dataflow service and your development experience are very important to us. We apologize for any inconvenience this issue may have caused.