diff --git a/.github/.OwlBot.lock.yaml b/.github/.OwlBot.lock.yaml index f60d7749..a79f0627 100644 --- a/.github/.OwlBot.lock.yaml +++ b/.github/.OwlBot.lock.yaml @@ -13,5 +13,5 @@ # limitations under the License. docker: image: gcr.io/cloud-devrel-public-resources/owlbot-java:latest - digest: sha256:fc52b202aa298a50a12c64efd04fea3884d867947effe2fa85382a246c09e813 -# created: 2022-04-06T16:30:03.627422514Z + digest: sha256:2567a120ce90fadb6201999b87d649d9f67459de28815ad239bce9ebfaa18a74 +# created: 2022-05-19T15:12:45.278246753Z diff --git a/.kokoro/build.sh b/.kokoro/build.sh index d9be36f6..a66b7fc7 100755 --- a/.kokoro/build.sh +++ b/.kokoro/build.sh @@ -74,6 +74,11 @@ graalvm) mvn -B ${INTEGRATION_TEST_ARGS} -ntp -Pnative -Penable-integration-tests test RETURN_CODE=$? ;; +graalvm17) + # Run Unit and Integration Tests with Native Image + mvn -B ${INTEGRATION_TEST_ARGS} -ntp -Pnative -Penable-integration-tests test + RETURN_CODE=$? + ;; samples) SAMPLES_DIR=samples # only run ITs in snapshot/ on presubmit PRs. run ITs in all 3 samples/ subdirectories otherwise. diff --git a/.kokoro/presubmit/graalvm-native-17.cfg b/.kokoro/presubmit/graalvm-native-17.cfg new file mode 100644 index 00000000..a3f7fb9d --- /dev/null +++ b/.kokoro/presubmit/graalvm-native-17.cfg @@ -0,0 +1,33 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +# Configure the docker image for kokoro-trampoline. +env_vars: { + key: "TRAMPOLINE_IMAGE" + value: "gcr.io/cloud-devrel-kokoro-resources/graalvm17" +} + +env_vars: { + key: "JOB_TYPE" + value: "graalvm17" +} + +# TODO: remove this after we've migrated all tests and scripts +env_vars: { + key: "GCLOUD_PROJECT" + value: "gcloud-devel" +} + +env_vars: { + key: "GOOGLE_CLOUD_PROJECT" + value: "gcloud-devel" +} + +env_vars: { + key: "GOOGLE_APPLICATION_CREDENTIALS" + value: "secret_manager/java-it-service-account" +} + +env_vars: { + key: "SECRET_MANAGER_KEYS" + value: "java-it-service-account" +} \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index b077d6d2..6dfaa7e4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,17 @@ # Changelog +## [0.6.0](https://github.com/googleapis/java-dataflow/compare/v0.5.1...v0.6.0) (2022-05-19) + + +### Features + +* add build scripts for native image testing in Java 17 ([#1440](https://github.com/googleapis/java-dataflow/issues/1440)) ([#173](https://github.com/googleapis/java-dataflow/issues/173)) ([f0d563a](https://github.com/googleapis/java-dataflow/commit/f0d563a4ecf77f0373181d2d7056ceb301314268)) + + +### Dependencies + +* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.12.0 ([#172](https://github.com/googleapis/java-dataflow/issues/172)) ([4cbe28d](https://github.com/googleapis/java-dataflow/commit/4cbe28d2f4a269e61d0cfe9d4a67562a7b0d2bef)) + ### [0.5.1](https://github.com/googleapis/java-dataflow/compare/v0.5.0...v0.5.1) (2022-04-15) diff --git a/README.md b/README.md index e3a2f4bc..4fa4ffcf 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ If you are using Maven, add this to your pom.xml file: com.google.cloud google-cloud-dataflow - 0.5.0 + 0.5.1 ``` @@ -30,13 +30,13 @@ If you are using Maven, add this to your pom.xml file: If you are using Gradle without BOM, add this to your dependencies ```Groovy -implementation 'com.google.cloud:google-cloud-dataflow:0.5.0' +implementation 'com.google.cloud:google-cloud-dataflow:0.5.1' ``` If you are using SBT, add this to your dependencies ```Scala -libraryDependencies += "com.google.cloud" % "google-cloud-dataflow" % "0.5.0" +libraryDependencies += "com.google.cloud" % "google-cloud-dataflow" % "0.5.1" ``` ## Authentication diff --git a/google-cloud-dataflow-bom/pom.xml b/google-cloud-dataflow-bom/pom.xml index c2a73fb4..e8998c2d 100644 --- a/google-cloud-dataflow-bom/pom.xml +++ b/google-cloud-dataflow-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-dataflow-bom - 0.5.1 + 0.6.0 pom com.google.cloud google-cloud-shared-config - 1.3.2 + 1.4.0 Google Dataflow BOM @@ -56,17 +56,17 @@ com.google.cloud google-cloud-dataflow - 0.5.1 + 0.6.0 com.google.api.grpc grpc-google-cloud-dataflow-v1beta3 - 0.5.1 + 0.6.0 com.google.api.grpc proto-google-cloud-dataflow-v1beta3 - 0.5.1 + 0.6.0 diff --git a/google-cloud-dataflow/pom.xml b/google-cloud-dataflow/pom.xml index 01f616bd..e8f9c744 100644 --- a/google-cloud-dataflow/pom.xml +++ b/google-cloud-dataflow/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.cloud google-cloud-dataflow - 0.5.1 + 0.6.0 jar Google Dataflow https://github.com/googleapis/java-dataflow @@ -11,7 +11,7 @@ com.google.cloud google-cloud-dataflow-parent - 0.5.1 + 0.6.0 google-cloud-dataflow diff --git a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/FlexTemplatesServiceClient.java b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/FlexTemplatesServiceClient.java index 957f2f8e..31310a66 100644 --- a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/FlexTemplatesServiceClient.java +++ b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/FlexTemplatesServiceClient.java @@ -1,5 +1,5 @@ /* - * Copyright 2021 Google LLC + * Copyright 2022 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -33,6 +33,8 @@ * calls that map to API methods. Sample code to get started: * *
{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * try (FlexTemplatesServiceClient flexTemplatesServiceClient =
  *     FlexTemplatesServiceClient.create()) {
  *   LaunchFlexTemplateRequest request =
@@ -76,6 +78,8 @@
  * 

To customize credentials: * *

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * FlexTemplatesServiceSettings flexTemplatesServiceSettings =
  *     FlexTemplatesServiceSettings.newBuilder()
  *         .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
@@ -87,6 +91,8 @@
  * 

To customize the endpoint: * *

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * FlexTemplatesServiceSettings flexTemplatesServiceSettings =
  *     FlexTemplatesServiceSettings.newBuilder().setEndpoint(myEndpoint).build();
  * FlexTemplatesServiceClient flexTemplatesServiceClient =
@@ -156,6 +162,8 @@ public FlexTemplatesServiceStub getStub() {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (FlexTemplatesServiceClient flexTemplatesServiceClient =
    *     FlexTemplatesServiceClient.create()) {
    *   LaunchFlexTemplateRequest request =
@@ -183,6 +191,8 @@ public final LaunchFlexTemplateResponse launchFlexTemplate(LaunchFlexTemplateReq
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (FlexTemplatesServiceClient flexTemplatesServiceClient =
    *     FlexTemplatesServiceClient.create()) {
    *   LaunchFlexTemplateRequest request =
diff --git a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/FlexTemplatesServiceSettings.java b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/FlexTemplatesServiceSettings.java
index b8c46c3e..c45e34c9 100644
--- a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/FlexTemplatesServiceSettings.java
+++ b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/FlexTemplatesServiceSettings.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -49,6 +49,8 @@
  * 

For example, to set the total timeout of launchFlexTemplate to 30 seconds: * *

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * FlexTemplatesServiceSettings.Builder flexTemplatesServiceSettingsBuilder =
  *     FlexTemplatesServiceSettings.newBuilder();
  * flexTemplatesServiceSettingsBuilder
diff --git a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/JobsV1Beta3Client.java b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/JobsV1Beta3Client.java
index 652c3348..1f881b49 100644
--- a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/JobsV1Beta3Client.java
+++ b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/JobsV1Beta3Client.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -42,6 +42,8 @@
  * calls that map to API methods. Sample code to get started:
  *
  * 
{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * try (JobsV1Beta3Client jobsV1Beta3Client = JobsV1Beta3Client.create()) {
  *   CreateJobRequest request =
  *       CreateJobRequest.newBuilder()
@@ -84,6 +86,8 @@
  * 

To customize credentials: * *

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * JobsV1Beta3Settings jobsV1Beta3Settings =
  *     JobsV1Beta3Settings.newBuilder()
  *         .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
@@ -94,6 +98,8 @@
  * 

To customize the endpoint: * *

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * JobsV1Beta3Settings jobsV1Beta3Settings =
  *     JobsV1Beta3Settings.newBuilder().setEndpoint(myEndpoint).build();
  * JobsV1Beta3Client jobsV1Beta3Client = JobsV1Beta3Client.create(jobsV1Beta3Settings);
@@ -165,6 +171,8 @@ public JobsV1Beta3Stub getStub() {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (JobsV1Beta3Client jobsV1Beta3Client = JobsV1Beta3Client.create()) {
    *   CreateJobRequest request =
    *       CreateJobRequest.newBuilder()
@@ -196,6 +204,8 @@ public final Job createJob(CreateJobRequest request) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (JobsV1Beta3Client jobsV1Beta3Client = JobsV1Beta3Client.create()) {
    *   CreateJobRequest request =
    *       CreateJobRequest.newBuilder()
@@ -227,6 +237,8 @@ public final UnaryCallable createJobCallable() {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (JobsV1Beta3Client jobsV1Beta3Client = JobsV1Beta3Client.create()) {
    *   GetJobRequest request =
    *       GetJobRequest.newBuilder()
@@ -258,6 +270,8 @@ public final Job getJob(GetJobRequest request) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (JobsV1Beta3Client jobsV1Beta3Client = JobsV1Beta3Client.create()) {
    *   GetJobRequest request =
    *       GetJobRequest.newBuilder()
@@ -289,6 +303,8 @@ public final UnaryCallable getJobCallable() {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (JobsV1Beta3Client jobsV1Beta3Client = JobsV1Beta3Client.create()) {
    *   UpdateJobRequest request =
    *       UpdateJobRequest.newBuilder()
@@ -321,6 +337,8 @@ public final Job updateJob(UpdateJobRequest request) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (JobsV1Beta3Client jobsV1Beta3Client = JobsV1Beta3Client.create()) {
    *   UpdateJobRequest request =
    *       UpdateJobRequest.newBuilder()
@@ -352,6 +370,8 @@ public final UnaryCallable updateJobCallable() {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (JobsV1Beta3Client jobsV1Beta3Client = JobsV1Beta3Client.create()) {
    *   ListJobsRequest request =
    *       ListJobsRequest.newBuilder()
@@ -387,6 +407,8 @@ public final ListJobsPagedResponse listJobs(ListJobsRequest request) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (JobsV1Beta3Client jobsV1Beta3Client = JobsV1Beta3Client.create()) {
    *   ListJobsRequest request =
    *       ListJobsRequest.newBuilder()
@@ -421,6 +443,8 @@ public final UnaryCallable listJobsPaged
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (JobsV1Beta3Client jobsV1Beta3Client = JobsV1Beta3Client.create()) {
    *   ListJobsRequest request =
    *       ListJobsRequest.newBuilder()
@@ -456,6 +480,8 @@ public final UnaryCallable listJobsCallable()
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (JobsV1Beta3Client jobsV1Beta3Client = JobsV1Beta3Client.create()) {
    *   ListJobsRequest request =
    *       ListJobsRequest.newBuilder()
@@ -485,6 +511,8 @@ public final AggregatedListJobsPagedResponse aggregatedListJobs(ListJobsRequest
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (JobsV1Beta3Client jobsV1Beta3Client = JobsV1Beta3Client.create()) {
    *   ListJobsRequest request =
    *       ListJobsRequest.newBuilder()
@@ -515,6 +543,8 @@ public final AggregatedListJobsPagedResponse aggregatedListJobs(ListJobsRequest
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (JobsV1Beta3Client jobsV1Beta3Client = JobsV1Beta3Client.create()) {
    *   ListJobsRequest request =
    *       ListJobsRequest.newBuilder()
@@ -550,6 +580,8 @@ public final UnaryCallable aggregatedListJobs
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (JobsV1Beta3Client jobsV1Beta3Client = JobsV1Beta3Client.create()) {
    *   CheckActiveJobsRequest request =
    *       CheckActiveJobsRequest.newBuilder().setProjectId("projectId-894832108").build();
@@ -571,6 +603,8 @@ public final CheckActiveJobsResponse checkActiveJobs(CheckActiveJobsRequest requ
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (JobsV1Beta3Client jobsV1Beta3Client = JobsV1Beta3Client.create()) {
    *   CheckActiveJobsRequest request =
    *       CheckActiveJobsRequest.newBuilder().setProjectId("projectId-894832108").build();
@@ -593,6 +627,8 @@ public final CheckActiveJobsResponse checkActiveJobs(CheckActiveJobsRequest requ
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (JobsV1Beta3Client jobsV1Beta3Client = JobsV1Beta3Client.create()) {
    *   SnapshotJobRequest request =
    *       SnapshotJobRequest.newBuilder()
@@ -621,6 +657,8 @@ public final Snapshot snapshotJob(SnapshotJobRequest request) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (JobsV1Beta3Client jobsV1Beta3Client = JobsV1Beta3Client.create()) {
    *   SnapshotJobRequest request =
    *       SnapshotJobRequest.newBuilder()
diff --git a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/JobsV1Beta3Settings.java b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/JobsV1Beta3Settings.java
index fe1cae76..7a059bfa 100644
--- a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/JobsV1Beta3Settings.java
+++ b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/JobsV1Beta3Settings.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -53,6 +53,8 @@
  * 

For example, to set the total timeout of createJob to 30 seconds: * *

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * JobsV1Beta3Settings.Builder jobsV1Beta3SettingsBuilder = JobsV1Beta3Settings.newBuilder();
  * jobsV1Beta3SettingsBuilder
  *     .createJobSettings()
diff --git a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/MessagesV1Beta3Client.java b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/MessagesV1Beta3Client.java
index f243b64d..71f35f66 100644
--- a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/MessagesV1Beta3Client.java
+++ b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/MessagesV1Beta3Client.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -42,6 +42,8 @@
  * calls that map to API methods. Sample code to get started:
  *
  * 
{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * try (MessagesV1Beta3Client messagesV1Beta3Client = MessagesV1Beta3Client.create()) {
  *   ListJobMessagesRequest request =
  *       ListJobMessagesRequest.newBuilder()
@@ -90,6 +92,8 @@
  * 

To customize credentials: * *

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * MessagesV1Beta3Settings messagesV1Beta3Settings =
  *     MessagesV1Beta3Settings.newBuilder()
  *         .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
@@ -101,6 +105,8 @@
  * 

To customize the endpoint: * *

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * MessagesV1Beta3Settings messagesV1Beta3Settings =
  *     MessagesV1Beta3Settings.newBuilder().setEndpoint(myEndpoint).build();
  * MessagesV1Beta3Client messagesV1Beta3Client =
@@ -176,6 +182,8 @@ public MessagesV1Beta3Stub getStub() {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (MessagesV1Beta3Client messagesV1Beta3Client = MessagesV1Beta3Client.create()) {
    *   ListJobMessagesRequest request =
    *       ListJobMessagesRequest.newBuilder()
@@ -214,6 +222,8 @@ public final ListJobMessagesPagedResponse listJobMessages(ListJobMessagesRequest
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (MessagesV1Beta3Client messagesV1Beta3Client = MessagesV1Beta3Client.create()) {
    *   ListJobMessagesRequest request =
    *       ListJobMessagesRequest.newBuilder()
@@ -253,6 +263,8 @@ public final ListJobMessagesPagedResponse listJobMessages(ListJobMessagesRequest
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (MessagesV1Beta3Client messagesV1Beta3Client = MessagesV1Beta3Client.create()) {
    *   ListJobMessagesRequest request =
    *       ListJobMessagesRequest.newBuilder()
diff --git a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/MessagesV1Beta3Settings.java b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/MessagesV1Beta3Settings.java
index e09b245b..c6ae01d6 100644
--- a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/MessagesV1Beta3Settings.java
+++ b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/MessagesV1Beta3Settings.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -52,6 +52,8 @@
  * 

For example, to set the total timeout of listJobMessages to 30 seconds: * *

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * MessagesV1Beta3Settings.Builder messagesV1Beta3SettingsBuilder =
  *     MessagesV1Beta3Settings.newBuilder();
  * messagesV1Beta3SettingsBuilder
diff --git a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/MetricsV1Beta3Client.java b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/MetricsV1Beta3Client.java
index ba7b80ba..af98a8c5 100644
--- a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/MetricsV1Beta3Client.java
+++ b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/MetricsV1Beta3Client.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -41,6 +41,8 @@
  * calls that map to API methods. Sample code to get started:
  *
  * 
{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * try (MetricsV1Beta3Client metricsV1Beta3Client = MetricsV1Beta3Client.create()) {
  *   GetJobMetricsRequest request =
  *       GetJobMetricsRequest.newBuilder()
@@ -82,6 +84,8 @@
  * 

To customize credentials: * *

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * MetricsV1Beta3Settings metricsV1Beta3Settings =
  *     MetricsV1Beta3Settings.newBuilder()
  *         .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
@@ -92,6 +96,8 @@
  * 

To customize the endpoint: * *

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * MetricsV1Beta3Settings metricsV1Beta3Settings =
  *     MetricsV1Beta3Settings.newBuilder().setEndpoint(myEndpoint).build();
  * MetricsV1Beta3Client metricsV1Beta3Client = MetricsV1Beta3Client.create(metricsV1Beta3Settings);
@@ -165,6 +171,8 @@ public MetricsV1Beta3Stub getStub() {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (MetricsV1Beta3Client metricsV1Beta3Client = MetricsV1Beta3Client.create()) {
    *   GetJobMetricsRequest request =
    *       GetJobMetricsRequest.newBuilder()
@@ -196,6 +204,8 @@ public final JobMetrics getJobMetrics(GetJobMetricsRequest request) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (MetricsV1Beta3Client metricsV1Beta3Client = MetricsV1Beta3Client.create()) {
    *   GetJobMetricsRequest request =
    *       GetJobMetricsRequest.newBuilder()
@@ -224,6 +234,8 @@ public final UnaryCallable getJobMetricsCallab
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (MetricsV1Beta3Client metricsV1Beta3Client = MetricsV1Beta3Client.create()) {
    *   GetJobExecutionDetailsRequest request =
    *       GetJobExecutionDetailsRequest.newBuilder()
@@ -257,6 +269,8 @@ public final GetJobExecutionDetailsPagedResponse getJobExecutionDetails(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (MetricsV1Beta3Client metricsV1Beta3Client = MetricsV1Beta3Client.create()) {
    *   GetJobExecutionDetailsRequest request =
    *       GetJobExecutionDetailsRequest.newBuilder()
@@ -289,6 +303,8 @@ public final GetJobExecutionDetailsPagedResponse getJobExecutionDetails(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (MetricsV1Beta3Client metricsV1Beta3Client = MetricsV1Beta3Client.create()) {
    *   GetJobExecutionDetailsRequest request =
    *       GetJobExecutionDetailsRequest.newBuilder()
@@ -328,6 +344,8 @@ public final GetJobExecutionDetailsPagedResponse getJobExecutionDetails(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (MetricsV1Beta3Client metricsV1Beta3Client = MetricsV1Beta3Client.create()) {
    *   GetStageExecutionDetailsRequest request =
    *       GetStageExecutionDetailsRequest.newBuilder()
@@ -364,6 +382,8 @@ public final GetStageExecutionDetailsPagedResponse getStageExecutionDetails(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (MetricsV1Beta3Client metricsV1Beta3Client = MetricsV1Beta3Client.create()) {
    *   GetStageExecutionDetailsRequest request =
    *       GetStageExecutionDetailsRequest.newBuilder()
@@ -399,6 +419,8 @@ public final GetStageExecutionDetailsPagedResponse getStageExecutionDetails(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (MetricsV1Beta3Client metricsV1Beta3Client = MetricsV1Beta3Client.create()) {
    *   GetStageExecutionDetailsRequest request =
    *       GetStageExecutionDetailsRequest.newBuilder()
diff --git a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/MetricsV1Beta3Settings.java b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/MetricsV1Beta3Settings.java
index ab8c35d9..056da1ac 100644
--- a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/MetricsV1Beta3Settings.java
+++ b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/MetricsV1Beta3Settings.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -53,6 +53,8 @@
  * 

For example, to set the total timeout of getJobMetrics to 30 seconds: * *

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * MetricsV1Beta3Settings.Builder metricsV1Beta3SettingsBuilder =
  *     MetricsV1Beta3Settings.newBuilder();
  * metricsV1Beta3SettingsBuilder
diff --git a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/SnapshotsV1Beta3Client.java b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/SnapshotsV1Beta3Client.java
index 74c64ab5..889288d8 100644
--- a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/SnapshotsV1Beta3Client.java
+++ b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/SnapshotsV1Beta3Client.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -33,6 +33,8 @@
  * calls that map to API methods. Sample code to get started:
  *
  * 
{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * try (SnapshotsV1Beta3Client snapshotsV1Beta3Client = SnapshotsV1Beta3Client.create()) {
  *   GetSnapshotRequest request =
  *       GetSnapshotRequest.newBuilder()
@@ -74,6 +76,8 @@
  * 

To customize credentials: * *

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * SnapshotsV1Beta3Settings snapshotsV1Beta3Settings =
  *     SnapshotsV1Beta3Settings.newBuilder()
  *         .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
@@ -85,6 +89,8 @@
  * 

To customize the endpoint: * *

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * SnapshotsV1Beta3Settings snapshotsV1Beta3Settings =
  *     SnapshotsV1Beta3Settings.newBuilder().setEndpoint(myEndpoint).build();
  * SnapshotsV1Beta3Client snapshotsV1Beta3Client =
@@ -154,6 +160,8 @@ public SnapshotsV1Beta3Stub getStub() {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (SnapshotsV1Beta3Client snapshotsV1Beta3Client = SnapshotsV1Beta3Client.create()) {
    *   GetSnapshotRequest request =
    *       GetSnapshotRequest.newBuilder()
@@ -179,6 +187,8 @@ public final Snapshot getSnapshot(GetSnapshotRequest request) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (SnapshotsV1Beta3Client snapshotsV1Beta3Client = SnapshotsV1Beta3Client.create()) {
    *   GetSnapshotRequest request =
    *       GetSnapshotRequest.newBuilder()
@@ -203,6 +213,8 @@ public final UnaryCallable getSnapshotCallable() {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (SnapshotsV1Beta3Client snapshotsV1Beta3Client = SnapshotsV1Beta3Client.create()) {
    *   DeleteSnapshotRequest request =
    *       DeleteSnapshotRequest.newBuilder()
@@ -228,6 +240,8 @@ public final DeleteSnapshotResponse deleteSnapshot(DeleteSnapshotRequest request
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (SnapshotsV1Beta3Client snapshotsV1Beta3Client = SnapshotsV1Beta3Client.create()) {
    *   DeleteSnapshotRequest request =
    *       DeleteSnapshotRequest.newBuilder()
@@ -254,6 +268,8 @@ public final DeleteSnapshotResponse deleteSnapshot(DeleteSnapshotRequest request
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (SnapshotsV1Beta3Client snapshotsV1Beta3Client = SnapshotsV1Beta3Client.create()) {
    *   ListSnapshotsRequest request =
    *       ListSnapshotsRequest.newBuilder()
@@ -279,6 +295,8 @@ public final ListSnapshotsResponse listSnapshots(ListSnapshotsRequest request) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (SnapshotsV1Beta3Client snapshotsV1Beta3Client = SnapshotsV1Beta3Client.create()) {
    *   ListSnapshotsRequest request =
    *       ListSnapshotsRequest.newBuilder()
diff --git a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/SnapshotsV1Beta3Settings.java b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/SnapshotsV1Beta3Settings.java
index f37481fd..7f2f9e1c 100644
--- a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/SnapshotsV1Beta3Settings.java
+++ b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/SnapshotsV1Beta3Settings.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -49,6 +49,8 @@
  * 

For example, to set the total timeout of getSnapshot to 30 seconds: * *

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * SnapshotsV1Beta3Settings.Builder snapshotsV1Beta3SettingsBuilder =
  *     SnapshotsV1Beta3Settings.newBuilder();
  * snapshotsV1Beta3SettingsBuilder
diff --git a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/TemplatesServiceClient.java b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/TemplatesServiceClient.java
index b4c2c33f..3c761a26 100644
--- a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/TemplatesServiceClient.java
+++ b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/TemplatesServiceClient.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -33,6 +33,8 @@
  * calls that map to API methods. Sample code to get started:
  *
  * 
{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * try (TemplatesServiceClient templatesServiceClient = TemplatesServiceClient.create()) {
  *   CreateJobFromTemplateRequest request =
  *       CreateJobFromTemplateRequest.newBuilder()
@@ -76,6 +78,8 @@
  * 

To customize credentials: * *

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * TemplatesServiceSettings templatesServiceSettings =
  *     TemplatesServiceSettings.newBuilder()
  *         .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
@@ -87,6 +91,8 @@
  * 

To customize the endpoint: * *

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * TemplatesServiceSettings templatesServiceSettings =
  *     TemplatesServiceSettings.newBuilder().setEndpoint(myEndpoint).build();
  * TemplatesServiceClient templatesServiceClient =
@@ -156,6 +162,8 @@ public TemplatesServiceStub getStub() {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TemplatesServiceClient templatesServiceClient = TemplatesServiceClient.create()) {
    *   CreateJobFromTemplateRequest request =
    *       CreateJobFromTemplateRequest.newBuilder()
@@ -183,6 +191,8 @@ public final Job createJobFromTemplate(CreateJobFromTemplateRequest request) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TemplatesServiceClient templatesServiceClient = TemplatesServiceClient.create()) {
    *   CreateJobFromTemplateRequest request =
    *       CreateJobFromTemplateRequest.newBuilder()
@@ -210,6 +220,8 @@ public final UnaryCallable createJobFromTempl
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TemplatesServiceClient templatesServiceClient = TemplatesServiceClient.create()) {
    *   LaunchTemplateRequest request =
    *       LaunchTemplateRequest.newBuilder()
@@ -236,6 +248,8 @@ public final LaunchTemplateResponse launchTemplate(LaunchTemplateRequest request
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TemplatesServiceClient templatesServiceClient = TemplatesServiceClient.create()) {
    *   LaunchTemplateRequest request =
    *       LaunchTemplateRequest.newBuilder()
@@ -263,6 +277,8 @@ public final LaunchTemplateResponse launchTemplate(LaunchTemplateRequest request
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TemplatesServiceClient templatesServiceClient = TemplatesServiceClient.create()) {
    *   GetTemplateRequest request =
    *       GetTemplateRequest.newBuilder()
@@ -287,6 +303,8 @@ public final GetTemplateResponse getTemplate(GetTemplateRequest request) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TemplatesServiceClient templatesServiceClient = TemplatesServiceClient.create()) {
    *   GetTemplateRequest request =
    *       GetTemplateRequest.newBuilder()
diff --git a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/TemplatesServiceSettings.java b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/TemplatesServiceSettings.java
index 6fc03b7d..275675f7 100644
--- a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/TemplatesServiceSettings.java
+++ b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/TemplatesServiceSettings.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -49,6 +49,8 @@
  * 

For example, to set the total timeout of createJobFromTemplate to 30 seconds: * *

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * TemplatesServiceSettings.Builder templatesServiceSettingsBuilder =
  *     TemplatesServiceSettings.newBuilder();
  * templatesServiceSettingsBuilder
diff --git a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/package-info.java b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/package-info.java
index 8bc0e7a0..77d6ff77 100644
--- a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/package-info.java
+++ b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/package-info.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -27,6 +27,8 @@
  * 

Sample for JobsV1Beta3Client: * *

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * try (JobsV1Beta3Client jobsV1Beta3Client = JobsV1Beta3Client.create()) {
  *   CreateJobRequest request =
  *       CreateJobRequest.newBuilder()
@@ -48,6 +50,8 @@
  * 

Sample for MessagesV1Beta3Client: * *

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * try (MessagesV1Beta3Client messagesV1Beta3Client = MessagesV1Beta3Client.create()) {
  *   ListJobMessagesRequest request =
  *       ListJobMessagesRequest.newBuilder()
@@ -73,6 +77,8 @@
  * 

Sample for MetricsV1Beta3Client: * *

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * try (MetricsV1Beta3Client metricsV1Beta3Client = MetricsV1Beta3Client.create()) {
  *   GetJobMetricsRequest request =
  *       GetJobMetricsRequest.newBuilder()
@@ -92,6 +98,8 @@
  * 

Sample for SnapshotsV1Beta3Client: * *

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * try (SnapshotsV1Beta3Client snapshotsV1Beta3Client = SnapshotsV1Beta3Client.create()) {
  *   GetSnapshotRequest request =
  *       GetSnapshotRequest.newBuilder()
@@ -110,6 +118,8 @@
  * 

Sample for TemplatesServiceClient: * *

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * try (TemplatesServiceClient templatesServiceClient = TemplatesServiceClient.create()) {
  *   CreateJobFromTemplateRequest request =
  *       CreateJobFromTemplateRequest.newBuilder()
@@ -130,6 +140,8 @@
  * 

Sample for FlexTemplatesServiceClient: * *

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * try (FlexTemplatesServiceClient flexTemplatesServiceClient =
  *     FlexTemplatesServiceClient.create()) {
  *   LaunchFlexTemplateRequest request =
diff --git a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/FlexTemplatesServiceStub.java b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/FlexTemplatesServiceStub.java
index 6a3c6dbc..8e848cfe 100644
--- a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/FlexTemplatesServiceStub.java
+++ b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/FlexTemplatesServiceStub.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/FlexTemplatesServiceStubSettings.java b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/FlexTemplatesServiceStubSettings.java
index 800f6480..0b2e8fa0 100644
--- a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/FlexTemplatesServiceStubSettings.java
+++ b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/FlexTemplatesServiceStubSettings.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -59,6 +59,8 @@
  * 

For example, to set the total timeout of launchFlexTemplate to 30 seconds: * *

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * FlexTemplatesServiceStubSettings.Builder flexTemplatesServiceSettingsBuilder =
  *     FlexTemplatesServiceStubSettings.newBuilder();
  * flexTemplatesServiceSettingsBuilder
diff --git a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/GrpcFlexTemplatesServiceCallableFactory.java b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/GrpcFlexTemplatesServiceCallableFactory.java
index 0d09806a..964b8482 100644
--- a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/GrpcFlexTemplatesServiceCallableFactory.java
+++ b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/GrpcFlexTemplatesServiceCallableFactory.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/GrpcFlexTemplatesServiceStub.java b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/GrpcFlexTemplatesServiceStub.java
index ec2f172d..0ec5892f 100644
--- a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/GrpcFlexTemplatesServiceStub.java
+++ b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/GrpcFlexTemplatesServiceStub.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/GrpcJobsV1Beta3CallableFactory.java b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/GrpcJobsV1Beta3CallableFactory.java
index f45cd7da..b8cab122 100644
--- a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/GrpcJobsV1Beta3CallableFactory.java
+++ b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/GrpcJobsV1Beta3CallableFactory.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/GrpcJobsV1Beta3Stub.java b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/GrpcJobsV1Beta3Stub.java
index 32ff2688..b8ca23db 100644
--- a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/GrpcJobsV1Beta3Stub.java
+++ b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/GrpcJobsV1Beta3Stub.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/GrpcMessagesV1Beta3CallableFactory.java b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/GrpcMessagesV1Beta3CallableFactory.java
index c2fba2fa..0ccb7cb2 100644
--- a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/GrpcMessagesV1Beta3CallableFactory.java
+++ b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/GrpcMessagesV1Beta3CallableFactory.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/GrpcMessagesV1Beta3Stub.java b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/GrpcMessagesV1Beta3Stub.java
index 8ccfdc80..0738a36e 100644
--- a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/GrpcMessagesV1Beta3Stub.java
+++ b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/GrpcMessagesV1Beta3Stub.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/GrpcMetricsV1Beta3CallableFactory.java b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/GrpcMetricsV1Beta3CallableFactory.java
index 6afdeae0..ff5e41d9 100644
--- a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/GrpcMetricsV1Beta3CallableFactory.java
+++ b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/GrpcMetricsV1Beta3CallableFactory.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/GrpcMetricsV1Beta3Stub.java b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/GrpcMetricsV1Beta3Stub.java
index ff4ecc8f..3acf91fe 100644
--- a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/GrpcMetricsV1Beta3Stub.java
+++ b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/GrpcMetricsV1Beta3Stub.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/GrpcSnapshotsV1Beta3CallableFactory.java b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/GrpcSnapshotsV1Beta3CallableFactory.java
index 880032e4..253d2eb5 100644
--- a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/GrpcSnapshotsV1Beta3CallableFactory.java
+++ b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/GrpcSnapshotsV1Beta3CallableFactory.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/GrpcSnapshotsV1Beta3Stub.java b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/GrpcSnapshotsV1Beta3Stub.java
index 5d2c2877..73a2a808 100644
--- a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/GrpcSnapshotsV1Beta3Stub.java
+++ b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/GrpcSnapshotsV1Beta3Stub.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/GrpcTemplatesServiceCallableFactory.java b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/GrpcTemplatesServiceCallableFactory.java
index 9901027b..d94fb2d7 100644
--- a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/GrpcTemplatesServiceCallableFactory.java
+++ b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/GrpcTemplatesServiceCallableFactory.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/GrpcTemplatesServiceStub.java b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/GrpcTemplatesServiceStub.java
index 6654d70a..363942e8 100644
--- a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/GrpcTemplatesServiceStub.java
+++ b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/GrpcTemplatesServiceStub.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/JobsV1Beta3Stub.java b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/JobsV1Beta3Stub.java
index cdcd6ff6..81ff1fe0 100644
--- a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/JobsV1Beta3Stub.java
+++ b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/JobsV1Beta3Stub.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/JobsV1Beta3StubSettings.java b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/JobsV1Beta3StubSettings.java
index fc938e48..f0eb3251 100644
--- a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/JobsV1Beta3StubSettings.java
+++ b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/JobsV1Beta3StubSettings.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -78,6 +78,8 @@
  * 

For example, to set the total timeout of createJob to 30 seconds: * *

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * JobsV1Beta3StubSettings.Builder jobsV1Beta3SettingsBuilder =
  *     JobsV1Beta3StubSettings.newBuilder();
  * jobsV1Beta3SettingsBuilder
diff --git a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/MessagesV1Beta3Stub.java b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/MessagesV1Beta3Stub.java
index e6c1dc62..74de3aff 100644
--- a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/MessagesV1Beta3Stub.java
+++ b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/MessagesV1Beta3Stub.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/MessagesV1Beta3StubSettings.java b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/MessagesV1Beta3StubSettings.java
index e2093f28..014d9b0f 100644
--- a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/MessagesV1Beta3StubSettings.java
+++ b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/MessagesV1Beta3StubSettings.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -70,6 +70,8 @@
  * 

For example, to set the total timeout of listJobMessages to 30 seconds: * *

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * MessagesV1Beta3StubSettings.Builder messagesV1Beta3SettingsBuilder =
  *     MessagesV1Beta3StubSettings.newBuilder();
  * messagesV1Beta3SettingsBuilder
diff --git a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/MetricsV1Beta3Stub.java b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/MetricsV1Beta3Stub.java
index 9c9f23ec..04a1fc1e 100644
--- a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/MetricsV1Beta3Stub.java
+++ b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/MetricsV1Beta3Stub.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/MetricsV1Beta3StubSettings.java b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/MetricsV1Beta3StubSettings.java
index 60bcb55b..6330bc68 100644
--- a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/MetricsV1Beta3StubSettings.java
+++ b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/MetricsV1Beta3StubSettings.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -76,6 +76,8 @@
  * 

For example, to set the total timeout of getJobMetrics to 30 seconds: * *

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * MetricsV1Beta3StubSettings.Builder metricsV1Beta3SettingsBuilder =
  *     MetricsV1Beta3StubSettings.newBuilder();
  * metricsV1Beta3SettingsBuilder
diff --git a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/SnapshotsV1Beta3Stub.java b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/SnapshotsV1Beta3Stub.java
index d8d951a9..203d3471 100644
--- a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/SnapshotsV1Beta3Stub.java
+++ b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/SnapshotsV1Beta3Stub.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/SnapshotsV1Beta3StubSettings.java b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/SnapshotsV1Beta3StubSettings.java
index 472d1ecf..d359f566 100644
--- a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/SnapshotsV1Beta3StubSettings.java
+++ b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/SnapshotsV1Beta3StubSettings.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -64,6 +64,8 @@
  * 

For example, to set the total timeout of getSnapshot to 30 seconds: * *

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * SnapshotsV1Beta3StubSettings.Builder snapshotsV1Beta3SettingsBuilder =
  *     SnapshotsV1Beta3StubSettings.newBuilder();
  * snapshotsV1Beta3SettingsBuilder
diff --git a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/TemplatesServiceStub.java b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/TemplatesServiceStub.java
index 5860a9e9..72c86ed1 100644
--- a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/TemplatesServiceStub.java
+++ b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/TemplatesServiceStub.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/TemplatesServiceStubSettings.java b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/TemplatesServiceStubSettings.java
index f3df3787..5beac426 100644
--- a/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/TemplatesServiceStubSettings.java
+++ b/google-cloud-dataflow/src/main/java/com/google/dataflow/v1beta3/stub/TemplatesServiceStubSettings.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -64,6 +64,8 @@
  * 

For example, to set the total timeout of createJobFromTemplate to 30 seconds: * *

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * TemplatesServiceStubSettings.Builder templatesServiceSettingsBuilder =
  *     TemplatesServiceStubSettings.newBuilder();
  * templatesServiceSettingsBuilder
diff --git a/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/FlexTemplatesServiceClientTest.java b/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/FlexTemplatesServiceClientTest.java
index 15ac89f0..0ea5595d 100644
--- a/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/FlexTemplatesServiceClientTest.java
+++ b/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/FlexTemplatesServiceClientTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/JobsV1Beta3ClientTest.java b/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/JobsV1Beta3ClientTest.java
index 419e1fca..c96f00b1 100644
--- a/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/JobsV1Beta3ClientTest.java
+++ b/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/JobsV1Beta3ClientTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MessagesV1Beta3ClientTest.java b/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MessagesV1Beta3ClientTest.java
index 3a32e643..5f240669 100644
--- a/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MessagesV1Beta3ClientTest.java
+++ b/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MessagesV1Beta3ClientTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MetricsV1Beta3ClientTest.java b/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MetricsV1Beta3ClientTest.java
index d38c89f3..0ed6bc36 100644
--- a/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MetricsV1Beta3ClientTest.java
+++ b/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MetricsV1Beta3ClientTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MockFlexTemplatesService.java b/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MockFlexTemplatesService.java
index 010d11d7..a54c8358 100644
--- a/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MockFlexTemplatesService.java
+++ b/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MockFlexTemplatesService.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MockFlexTemplatesServiceImpl.java b/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MockFlexTemplatesServiceImpl.java
index 6cab9c17..b4253c12 100644
--- a/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MockFlexTemplatesServiceImpl.java
+++ b/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MockFlexTemplatesServiceImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MockJobsV1Beta3.java b/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MockJobsV1Beta3.java
index 1cb37b29..1db29e73 100644
--- a/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MockJobsV1Beta3.java
+++ b/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MockJobsV1Beta3.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MockJobsV1Beta3Impl.java b/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MockJobsV1Beta3Impl.java
index bf76e712..4f3d5e58 100644
--- a/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MockJobsV1Beta3Impl.java
+++ b/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MockJobsV1Beta3Impl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MockMessagesV1Beta3.java b/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MockMessagesV1Beta3.java
index 09da7503..dc47faab 100644
--- a/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MockMessagesV1Beta3.java
+++ b/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MockMessagesV1Beta3.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MockMessagesV1Beta3Impl.java b/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MockMessagesV1Beta3Impl.java
index 5983790c..6e755d7a 100644
--- a/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MockMessagesV1Beta3Impl.java
+++ b/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MockMessagesV1Beta3Impl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MockMetricsV1Beta3.java b/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MockMetricsV1Beta3.java
index d0090b36..44f643d5 100644
--- a/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MockMetricsV1Beta3.java
+++ b/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MockMetricsV1Beta3.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MockMetricsV1Beta3Impl.java b/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MockMetricsV1Beta3Impl.java
index 3365d669..e4217852 100644
--- a/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MockMetricsV1Beta3Impl.java
+++ b/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MockMetricsV1Beta3Impl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MockSnapshotsV1Beta3.java b/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MockSnapshotsV1Beta3.java
index a6599d3e..905a5df9 100644
--- a/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MockSnapshotsV1Beta3.java
+++ b/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MockSnapshotsV1Beta3.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MockSnapshotsV1Beta3Impl.java b/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MockSnapshotsV1Beta3Impl.java
index 9a60ea41..5f7cfc0d 100644
--- a/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MockSnapshotsV1Beta3Impl.java
+++ b/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MockSnapshotsV1Beta3Impl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MockTemplatesService.java b/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MockTemplatesService.java
index 5ff852e1..482c7fe9 100644
--- a/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MockTemplatesService.java
+++ b/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MockTemplatesService.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MockTemplatesServiceImpl.java b/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MockTemplatesServiceImpl.java
index 9d966722..62972e44 100644
--- a/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MockTemplatesServiceImpl.java
+++ b/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/MockTemplatesServiceImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/SnapshotsV1Beta3ClientTest.java b/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/SnapshotsV1Beta3ClientTest.java
index 2eec528b..b166c2e3 100644
--- a/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/SnapshotsV1Beta3ClientTest.java
+++ b/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/SnapshotsV1Beta3ClientTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/TemplatesServiceClientTest.java b/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/TemplatesServiceClientTest.java
index 71db27ec..d1489107 100644
--- a/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/TemplatesServiceClientTest.java
+++ b/google-cloud-dataflow/src/test/java/com/google/dataflow/v1beta3/TemplatesServiceClientTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * Copyright 2022 Google LLC
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/grpc-google-cloud-dataflow-v1beta3/pom.xml b/grpc-google-cloud-dataflow-v1beta3/pom.xml
index ea225e07..a68f3881 100644
--- a/grpc-google-cloud-dataflow-v1beta3/pom.xml
+++ b/grpc-google-cloud-dataflow-v1beta3/pom.xml
@@ -4,13 +4,13 @@
   4.0.0
   com.google.api.grpc
   grpc-google-cloud-dataflow-v1beta3
-  0.5.1
+  0.6.0
   grpc-google-cloud-dataflow-v1beta3
   GRPC library for google-cloud-dataflow
   
     com.google.cloud
     google-cloud-dataflow-parent
-    0.5.1
+    0.6.0
   
   
     
diff --git a/pom.xml b/pom.xml
index 6c389200..2dd2378b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
   com.google.cloud
   google-cloud-dataflow-parent
   pom
-  0.5.1
+  0.6.0
   Google Dataflow Parent
   https://github.com/googleapis/java-dataflow
   
@@ -14,7 +14,7 @@
   
     com.google.cloud
     google-cloud-shared-config
-    1.3.2
+    1.4.0
   
 
   
@@ -69,23 +69,23 @@
       
         com.google.cloud
         google-cloud-dataflow
-        0.5.1
+        0.6.0
       
       
         com.google.api.grpc
         grpc-google-cloud-dataflow-v1beta3
-        0.5.1
+        0.6.0
       
       
         com.google.api.grpc
         proto-google-cloud-dataflow-v1beta3
-        0.5.1
+        0.6.0
       
 
       
         com.google.cloud
         google-cloud-shared-dependencies
-        2.10.0
+        2.12.0
         pom
         import
       
@@ -121,7 +121,7 @@
       
         org.apache.maven.plugins
         maven-project-info-reports-plugin
-        3.2.2
+        3.3.0
         
           
             
@@ -148,7 +148,7 @@
       
         org.apache.maven.plugins
         maven-javadoc-plugin
-        3.3.2
+        3.4.0
         
           
             html
diff --git a/proto-google-cloud-dataflow-v1beta3/pom.xml b/proto-google-cloud-dataflow-v1beta3/pom.xml
index ee05c6db..04e8f903 100644
--- a/proto-google-cloud-dataflow-v1beta3/pom.xml
+++ b/proto-google-cloud-dataflow-v1beta3/pom.xml
@@ -4,13 +4,13 @@
   4.0.0
   com.google.api.grpc
   proto-google-cloud-dataflow-v1beta3
-  0.5.1
+  0.6.0
   proto-google-cloud-dataflow-v1beta3
   Proto library for google-cloud-dataflow
   
     com.google.cloud
     google-cloud-dataflow-parent
-    0.5.1
+    0.6.0
   
   
     
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/AutoscalingEvent.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/AutoscalingEvent.java
index 6c988480..7e102207 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/AutoscalingEvent.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/AutoscalingEvent.java
@@ -137,6 +137,8 @@ private AutoscalingEvent(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/AutoscalingSettings.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/AutoscalingSettings.java
index a00ec786..7c0ad34b 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/AutoscalingSettings.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/AutoscalingSettings.java
@@ -93,6 +93,8 @@ private AutoscalingSettings(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/BigQueryIODetails.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/BigQueryIODetails.java
index eab72bd8..ed599173 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/BigQueryIODetails.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/BigQueryIODetails.java
@@ -112,6 +112,8 @@ private BigQueryIODetails(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/BigTableIODetails.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/BigTableIODetails.java
index a1b38b17..ccbdb2b0 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/BigTableIODetails.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/BigTableIODetails.java
@@ -104,6 +104,8 @@ private BigTableIODetails(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/CheckActiveJobsRequest.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/CheckActiveJobsRequest.java
index 8058b4ca..0d6e50ea 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/CheckActiveJobsRequest.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/CheckActiveJobsRequest.java
@@ -88,6 +88,8 @@ private CheckActiveJobsRequest(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/CheckActiveJobsResponse.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/CheckActiveJobsResponse.java
index 4b0aa4fb..614358ec 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/CheckActiveJobsResponse.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/CheckActiveJobsResponse.java
@@ -84,6 +84,8 @@ private CheckActiveJobsResponse(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ComputationTopology.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ComputationTopology.java
index 4c35a94a..93ca4ecf 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ComputationTopology.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ComputationTopology.java
@@ -147,6 +147,8 @@ private ComputationTopology(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ContainerSpec.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ContainerSpec.java
index 2a0fcc0e..6b038306 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ContainerSpec.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ContainerSpec.java
@@ -137,6 +137,8 @@ private ContainerSpec(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/CreateJobFromTemplateRequest.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/CreateJobFromTemplateRequest.java
index 247815d0..5bcf4b34 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/CreateJobFromTemplateRequest.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/CreateJobFromTemplateRequest.java
@@ -143,6 +143,8 @@ private CreateJobFromTemplateRequest(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
@@ -432,7 +434,7 @@ public int getParametersCount() {
   @java.lang.Override
   public boolean containsParameters(java.lang.String key) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     return internalGetParameters().getMap().containsKey(key);
   }
@@ -468,7 +470,7 @@ public java.util.Map getParametersMap() {
   public java.lang.String getParametersOrDefault(
       java.lang.String key, java.lang.String defaultValue) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     java.util.Map map = internalGetParameters().getMap();
     return map.containsKey(key) ? map.get(key) : defaultValue;
@@ -485,7 +487,7 @@ public java.lang.String getParametersOrDefault(
   @java.lang.Override
   public java.lang.String getParametersOrThrow(java.lang.String key) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     java.util.Map map = internalGetParameters().getMap();
     if (!map.containsKey(key)) {
@@ -1471,7 +1473,7 @@ public int getParametersCount() {
     @java.lang.Override
     public boolean containsParameters(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       return internalGetParameters().getMap().containsKey(key);
     }
@@ -1507,7 +1509,7 @@ public java.util.Map getParametersMap() {
     public java.lang.String getParametersOrDefault(
         java.lang.String key, java.lang.String defaultValue) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       java.util.Map map = internalGetParameters().getMap();
       return map.containsKey(key) ? map.get(key) : defaultValue;
@@ -1524,7 +1526,7 @@ public java.lang.String getParametersOrDefault(
     @java.lang.Override
     public java.lang.String getParametersOrThrow(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       java.util.Map map = internalGetParameters().getMap();
       if (!map.containsKey(key)) {
@@ -1548,7 +1550,7 @@ public Builder clearParameters() {
      */
     public Builder removeParameters(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       internalGetMutableParameters().getMutableMap().remove(key);
       return this;
@@ -1569,11 +1571,12 @@ public java.util.Map getMutableParameters()
      */
     public Builder putParameters(java.lang.String key, java.lang.String value) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       if (value == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map value");
       }
+
       internalGetMutableParameters().getMutableMap().put(key, value);
       return this;
     }
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/CreateJobFromTemplateRequestOrBuilder.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/CreateJobFromTemplateRequestOrBuilder.java
index 1326128d..90397631 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/CreateJobFromTemplateRequestOrBuilder.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/CreateJobFromTemplateRequestOrBuilder.java
@@ -158,7 +158,12 @@ public interface CreateJobFromTemplateRequestOrBuilder
    *
    * map<string, string> parameters = 3;
    */
-  java.lang.String getParametersOrDefault(java.lang.String key, java.lang.String defaultValue);
+
+  /* nullable */
+  java.lang.String getParametersOrDefault(
+      java.lang.String key,
+      /* nullable */
+      java.lang.String defaultValue);
   /**
    *
    *
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/CreateJobRequest.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/CreateJobRequest.java
index 7e76fe0d..fef7387c 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/CreateJobRequest.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/CreateJobRequest.java
@@ -126,6 +126,8 @@ private CreateJobRequest(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/CustomSourceLocation.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/CustomSourceLocation.java
index 48c7b274..dd3db9d7 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/CustomSourceLocation.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/CustomSourceLocation.java
@@ -84,6 +84,8 @@ private CustomSourceLocation(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/DataDiskAssignment.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/DataDiskAssignment.java
index a7d0ecef..8484f0f4 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/DataDiskAssignment.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/DataDiskAssignment.java
@@ -100,6 +100,8 @@ private DataDiskAssignment(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/DatastoreIODetails.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/DatastoreIODetails.java
index 557a0f46..d14638ac 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/DatastoreIODetails.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/DatastoreIODetails.java
@@ -96,6 +96,8 @@ private DatastoreIODetails(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/DebugOptions.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/DebugOptions.java
index e91bf24f..5b23faee 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/DebugOptions.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/DebugOptions.java
@@ -84,6 +84,8 @@ private DebugOptions(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/DeleteSnapshotRequest.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/DeleteSnapshotRequest.java
index 88b645d9..0d623d80 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/DeleteSnapshotRequest.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/DeleteSnapshotRequest.java
@@ -104,6 +104,8 @@ private DeleteSnapshotRequest(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/DeleteSnapshotResponse.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/DeleteSnapshotResponse.java
index ccf5bc6d..772e9cf6 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/DeleteSnapshotResponse.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/DeleteSnapshotResponse.java
@@ -79,6 +79,8 @@ private DeleteSnapshotResponse(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/Disk.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/Disk.java
index 24a122fa..70faedb9 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/Disk.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/Disk.java
@@ -101,6 +101,8 @@ private Disk(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/DisplayData.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/DisplayData.java
index 409614e5..15783302 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/DisplayData.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/DisplayData.java
@@ -97,14 +97,14 @@ private DisplayData(
             }
           case 40:
             {
-              valueCase_ = 5;
               value_ = input.readInt64();
+              valueCase_ = 5;
               break;
             }
           case 53:
             {
-              valueCase_ = 6;
               value_ = input.readFloat();
+              valueCase_ = 6;
               break;
             }
           case 58:
@@ -144,8 +144,8 @@ private DisplayData(
             }
           case 80:
             {
-              valueCase_ = 10;
               value_ = input.readBool();
+              valueCase_ = 10;
               break;
             }
           case 90:
@@ -180,6 +180,8 @@ private DisplayData(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
@@ -2210,8 +2212,9 @@ public Builder mergeTimestampValue(com.google.protobuf.Timestamp value) {
       } else {
         if (valueCase_ == 8) {
           timestampValueBuilder_.mergeFrom(value);
+        } else {
+          timestampValueBuilder_.setMessage(value);
         }
-        timestampValueBuilder_.setMessage(value);
       }
       valueCase_ = 8;
       return this;
@@ -2414,8 +2417,9 @@ public Builder mergeDurationValue(com.google.protobuf.Duration value) {
       } else {
         if (valueCase_ == 9) {
           durationValueBuilder_.mergeFrom(value);
+        } else {
+          durationValueBuilder_.setMessage(value);
         }
-        durationValueBuilder_.setMessage(value);
       }
       valueCase_ = 9;
       return this;
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/DynamicTemplateLaunchParams.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/DynamicTemplateLaunchParams.java
index a5387fbd..d87cee3f 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/DynamicTemplateLaunchParams.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/DynamicTemplateLaunchParams.java
@@ -96,6 +96,8 @@ private DynamicTemplateLaunchParams(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/Environment.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/Environment.java
index 6caa13c8..67190754 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/Environment.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/Environment.java
@@ -262,6 +262,8 @@ private Environment(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ExecutionStageState.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ExecutionStageState.java
index cb47c23d..c88acf24 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ExecutionStageState.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ExecutionStageState.java
@@ -111,6 +111,8 @@ private ExecutionStageState(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ExecutionStageSummary.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ExecutionStageSummary.java
index 97763799..1fb76cf7 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ExecutionStageSummary.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ExecutionStageSummary.java
@@ -178,6 +178,8 @@ private ExecutionStageSummary(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
@@ -402,6 +404,8 @@ private StageSource(
         }
       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
         throw e.setUnfinishedMessage(this);
+      } catch (com.google.protobuf.UninitializedMessageException e) {
+        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
       } catch (java.io.IOException e) {
         throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
       } finally {
@@ -1568,6 +1572,8 @@ private ComponentTransform(
         }
       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
         throw e.setUnfinishedMessage(this);
+      } catch (com.google.protobuf.UninitializedMessageException e) {
+        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
       } catch (java.io.IOException e) {
         throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
       } finally {
@@ -2651,6 +2657,8 @@ private ComponentSource(
         }
       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
         throw e.setUnfinishedMessage(this);
+      } catch (com.google.protobuf.UninitializedMessageException e) {
+        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
       } catch (java.io.IOException e) {
         throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
       } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/FailedLocation.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/FailedLocation.java
index 9733b6c6..90996319 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/FailedLocation.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/FailedLocation.java
@@ -90,6 +90,8 @@ private FailedLocation(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/FileIODetails.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/FileIODetails.java
index e1d35649..3f5317b5 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/FileIODetails.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/FileIODetails.java
@@ -88,6 +88,8 @@ private FileIODetails(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/FlexTemplateRuntimeEnvironment.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/FlexTemplateRuntimeEnvironment.java
index 62079147..e5c1a989 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/FlexTemplateRuntimeEnvironment.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/FlexTemplateRuntimeEnvironment.java
@@ -264,6 +264,8 @@ private FlexTemplateRuntimeEnvironment(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
@@ -759,7 +761,7 @@ public int getAdditionalUserLabelsCount() {
   @java.lang.Override
   public boolean containsAdditionalUserLabels(java.lang.String key) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     return internalGetAdditionalUserLabels().getMap().containsKey(key);
   }
@@ -805,7 +807,7 @@ public java.util.Map getAdditionalUserLabels
   public java.lang.String getAdditionalUserLabelsOrDefault(
       java.lang.String key, java.lang.String defaultValue) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     java.util.Map map =
         internalGetAdditionalUserLabels().getMap();
@@ -828,7 +830,7 @@ public java.lang.String getAdditionalUserLabelsOrDefault(
   @java.lang.Override
   public java.lang.String getAdditionalUserLabelsOrThrow(java.lang.String key) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     java.util.Map map =
         internalGetAdditionalUserLabels().getMap();
@@ -3122,7 +3124,7 @@ public int getAdditionalUserLabelsCount() {
     @java.lang.Override
     public boolean containsAdditionalUserLabels(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       return internalGetAdditionalUserLabels().getMap().containsKey(key);
     }
@@ -3168,7 +3170,7 @@ public java.util.Map getAdditionalUserLabels
     public java.lang.String getAdditionalUserLabelsOrDefault(
         java.lang.String key, java.lang.String defaultValue) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       java.util.Map map =
           internalGetAdditionalUserLabels().getMap();
@@ -3191,7 +3193,7 @@ public java.lang.String getAdditionalUserLabelsOrDefault(
     @java.lang.Override
     public java.lang.String getAdditionalUserLabelsOrThrow(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       java.util.Map map =
           internalGetAdditionalUserLabels().getMap();
@@ -3221,7 +3223,7 @@ public Builder clearAdditionalUserLabels() {
      */
     public Builder removeAdditionalUserLabels(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       internalGetMutableAdditionalUserLabels().getMutableMap().remove(key);
       return this;
@@ -3247,11 +3249,12 @@ public java.util.Map getMutableAdditionalUse
      */
     public Builder putAdditionalUserLabels(java.lang.String key, java.lang.String value) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       if (value == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map value");
       }
+
       internalGetMutableAdditionalUserLabels().getMutableMap().put(key, value);
       return this;
     }
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/FlexTemplateRuntimeEnvironmentOrBuilder.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/FlexTemplateRuntimeEnvironmentOrBuilder.java
index 0d8edd91..7b3336a0 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/FlexTemplateRuntimeEnvironmentOrBuilder.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/FlexTemplateRuntimeEnvironmentOrBuilder.java
@@ -335,8 +335,12 @@ public interface FlexTemplateRuntimeEnvironmentOrBuilder
    *
    * map<string, string> additional_user_labels = 10;
    */
+
+  /* nullable */
   java.lang.String getAdditionalUserLabelsOrDefault(
-      java.lang.String key, java.lang.String defaultValue);
+      java.lang.String key,
+      /* nullable */
+      java.lang.String defaultValue);
   /**
    *
    *
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/GetJobExecutionDetailsRequest.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/GetJobExecutionDetailsRequest.java
index 47a31719..db7b6e9a 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/GetJobExecutionDetailsRequest.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/GetJobExecutionDetailsRequest.java
@@ -117,6 +117,8 @@ private GetJobExecutionDetailsRequest(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/GetJobMetricsRequest.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/GetJobMetricsRequest.java
index c14fff35..9fd6ae06 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/GetJobMetricsRequest.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/GetJobMetricsRequest.java
@@ -119,6 +119,8 @@ private GetJobMetricsRequest(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/GetJobRequest.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/GetJobRequest.java
index ac8f38ff..a8560685 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/GetJobRequest.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/GetJobRequest.java
@@ -112,6 +112,8 @@ private GetJobRequest(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/GetSnapshotRequest.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/GetSnapshotRequest.java
index 68e809d2..77629922 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/GetSnapshotRequest.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/GetSnapshotRequest.java
@@ -104,6 +104,8 @@ private GetSnapshotRequest(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/GetStageExecutionDetailsRequest.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/GetStageExecutionDetailsRequest.java
index e3f7fee3..e6df05f5 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/GetStageExecutionDetailsRequest.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/GetStageExecutionDetailsRequest.java
@@ -157,6 +157,8 @@ private GetStageExecutionDetailsRequest(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/GetTemplateRequest.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/GetTemplateRequest.java
index 7ead2367..c4488091 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/GetTemplateRequest.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/GetTemplateRequest.java
@@ -111,6 +111,8 @@ private GetTemplateRequest(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/GetTemplateResponse.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/GetTemplateResponse.java
index 5d6cc354..116aeb82 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/GetTemplateResponse.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/GetTemplateResponse.java
@@ -134,6 +134,8 @@ private GetTemplateResponse(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/InvalidTemplateParameters.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/InvalidTemplateParameters.java
index e950d361..f455938f 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/InvalidTemplateParameters.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/InvalidTemplateParameters.java
@@ -98,6 +98,8 @@ private InvalidTemplateParameters(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
@@ -257,6 +259,8 @@ private ParameterViolation(
         }
       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
         throw e.setUnfinishedMessage(this);
+      } catch (com.google.protobuf.UninitializedMessageException e) {
+        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
       } catch (java.io.IOException e) {
         throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
       } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/Job.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/Job.java
index 9a4c08e2..21994693 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/Job.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/Job.java
@@ -357,6 +357,8 @@ private Job(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
@@ -1113,7 +1115,7 @@ public int getTransformNameMappingCount() {
   @java.lang.Override
   public boolean containsTransformNameMapping(java.lang.String key) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     return internalGetTransformNameMapping().getMap().containsKey(key);
   }
@@ -1151,7 +1153,7 @@ public java.util.Map getTransformNameMapping
   public java.lang.String getTransformNameMappingOrDefault(
       java.lang.String key, java.lang.String defaultValue) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     java.util.Map map =
         internalGetTransformNameMapping().getMap();
@@ -1170,7 +1172,7 @@ public java.lang.String getTransformNameMappingOrDefault(
   @java.lang.Override
   public java.lang.String getTransformNameMappingOrThrow(java.lang.String key) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     java.util.Map map =
         internalGetTransformNameMapping().getMap();
@@ -1428,7 +1430,7 @@ public int getLabelsCount() {
   @java.lang.Override
   public boolean containsLabels(java.lang.String key) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     return internalGetLabels().getMap().containsKey(key);
   }
@@ -1475,7 +1477,7 @@ public java.util.Map getLabelsMap() {
   @java.lang.Override
   public java.lang.String getLabelsOrDefault(java.lang.String key, java.lang.String defaultValue) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     java.util.Map map = internalGetLabels().getMap();
     return map.containsKey(key) ? map.get(key) : defaultValue;
@@ -1498,7 +1500,7 @@ public java.lang.String getLabelsOrDefault(java.lang.String key, java.lang.Strin
   @java.lang.Override
   public java.lang.String getLabelsOrThrow(java.lang.String key) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     java.util.Map map = internalGetLabels().getMap();
     if (!map.containsKey(key)) {
@@ -4885,7 +4887,7 @@ public int getTransformNameMappingCount() {
     @java.lang.Override
     public boolean containsTransformNameMapping(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       return internalGetTransformNameMapping().getMap().containsKey(key);
     }
@@ -4923,7 +4925,7 @@ public java.util.Map getTransformNameMapping
     public java.lang.String getTransformNameMappingOrDefault(
         java.lang.String key, java.lang.String defaultValue) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       java.util.Map map =
           internalGetTransformNameMapping().getMap();
@@ -4942,7 +4944,7 @@ public java.lang.String getTransformNameMappingOrDefault(
     @java.lang.Override
     public java.lang.String getTransformNameMappingOrThrow(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       java.util.Map map =
           internalGetTransformNameMapping().getMap();
@@ -4968,7 +4970,7 @@ public Builder clearTransformNameMapping() {
      */
     public Builder removeTransformNameMapping(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       internalGetMutableTransformNameMapping().getMutableMap().remove(key);
       return this;
@@ -4990,11 +4992,12 @@ public java.util.Map getMutableTransformName
      */
     public Builder putTransformNameMapping(java.lang.String key, java.lang.String value) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       if (value == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map value");
       }
+
       internalGetMutableTransformNameMapping().getMutableMap().put(key, value);
       return this;
     }
@@ -5544,7 +5547,7 @@ public int getLabelsCount() {
     @java.lang.Override
     public boolean containsLabels(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       return internalGetLabels().getMap().containsKey(key);
     }
@@ -5592,7 +5595,7 @@ public java.util.Map getLabelsMap() {
     public java.lang.String getLabelsOrDefault(
         java.lang.String key, java.lang.String defaultValue) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       java.util.Map map = internalGetLabels().getMap();
       return map.containsKey(key) ? map.get(key) : defaultValue;
@@ -5615,7 +5618,7 @@ public java.lang.String getLabelsOrDefault(
     @java.lang.Override
     public java.lang.String getLabelsOrThrow(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       java.util.Map map = internalGetLabels().getMap();
       if (!map.containsKey(key)) {
@@ -5645,7 +5648,7 @@ public Builder clearLabels() {
      */
     public Builder removeLabels(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       internalGetMutableLabels().getMutableMap().remove(key);
       return this;
@@ -5672,11 +5675,12 @@ public java.util.Map getMutableLabels() {
      */
     public Builder putLabels(java.lang.String key, java.lang.String value) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       if (value == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map value");
       }
+
       internalGetMutableLabels().getMutableMap().put(key, value);
       return this;
     }
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/JobExecutionDetails.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/JobExecutionDetails.java
index 083e0638..eac80758 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/JobExecutionDetails.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/JobExecutionDetails.java
@@ -101,6 +101,8 @@ private JobExecutionDetails(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/JobExecutionInfo.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/JobExecutionInfo.java
index 0b533ef1..0de536e2 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/JobExecutionInfo.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/JobExecutionInfo.java
@@ -97,6 +97,8 @@ private JobExecutionInfo(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
@@ -176,7 +178,7 @@ public int getStagesCount() {
   @java.lang.Override
   public boolean containsStages(java.lang.String key) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     return internalGetStages().getMap().containsKey(key);
   }
@@ -214,7 +216,7 @@ public boolean containsStages(java.lang.String key) {
   public com.google.dataflow.v1beta3.JobExecutionStageInfo getStagesOrDefault(
       java.lang.String key, com.google.dataflow.v1beta3.JobExecutionStageInfo defaultValue) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     java.util.Map map =
         internalGetStages().getMap();
@@ -232,7 +234,7 @@ public com.google.dataflow.v1beta3.JobExecutionStageInfo getStagesOrDefault(
   @java.lang.Override
   public com.google.dataflow.v1beta3.JobExecutionStageInfo getStagesOrThrow(java.lang.String key) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     java.util.Map map =
         internalGetStages().getMap();
@@ -631,7 +633,7 @@ public int getStagesCount() {
     @java.lang.Override
     public boolean containsStages(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       return internalGetStages().getMap().containsKey(key);
     }
@@ -669,7 +671,7 @@ public boolean containsStages(java.lang.String key) {
     public com.google.dataflow.v1beta3.JobExecutionStageInfo getStagesOrDefault(
         java.lang.String key, com.google.dataflow.v1beta3.JobExecutionStageInfo defaultValue) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       java.util.Map map =
           internalGetStages().getMap();
@@ -688,7 +690,7 @@ public com.google.dataflow.v1beta3.JobExecutionStageInfo getStagesOrDefault(
     public com.google.dataflow.v1beta3.JobExecutionStageInfo getStagesOrThrow(
         java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       java.util.Map map =
           internalGetStages().getMap();
@@ -713,7 +715,7 @@ public Builder clearStages() {
      */
     public Builder removeStages(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       internalGetMutableStages().getMutableMap().remove(key);
       return this;
@@ -736,11 +738,12 @@ public Builder removeStages(java.lang.String key) {
     public Builder putStages(
         java.lang.String key, com.google.dataflow.v1beta3.JobExecutionStageInfo value) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       if (value == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map value");
       }
+
       internalGetMutableStages().getMutableMap().put(key, value);
       return this;
     }
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/JobExecutionInfoOrBuilder.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/JobExecutionInfoOrBuilder.java
index 6598f469..1cafcdd9 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/JobExecutionInfoOrBuilder.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/JobExecutionInfoOrBuilder.java
@@ -65,8 +65,12 @@ public interface JobExecutionInfoOrBuilder
    *
    * map<string, .google.dataflow.v1beta3.JobExecutionStageInfo> stages = 1;
    */
+
+  /* nullable */
   com.google.dataflow.v1beta3.JobExecutionStageInfo getStagesOrDefault(
-      java.lang.String key, com.google.dataflow.v1beta3.JobExecutionStageInfo defaultValue);
+      java.lang.String key,
+      /* nullable */
+      com.google.dataflow.v1beta3.JobExecutionStageInfo defaultValue);
   /**
    *
    *
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/JobExecutionStageInfo.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/JobExecutionStageInfo.java
index 41e03f8b..ac43bdd0 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/JobExecutionStageInfo.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/JobExecutionStageInfo.java
@@ -93,6 +93,8 @@ private JobExecutionStageInfo(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/JobMessage.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/JobMessage.java
index 6bcca15b..62de4170 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/JobMessage.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/JobMessage.java
@@ -118,6 +118,8 @@ private JobMessage(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/JobMetadata.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/JobMetadata.java
index ebf9a259..4f23b7fa 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/JobMetadata.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/JobMetadata.java
@@ -175,6 +175,8 @@ private JobMetadata(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/JobMetrics.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/JobMetrics.java
index c6317075..eb1130a7 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/JobMetrics.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/JobMetrics.java
@@ -113,6 +113,8 @@ private JobMetrics(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/JobOrBuilder.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/JobOrBuilder.java
index 197620bf..70a8d0b6 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/JobOrBuilder.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/JobOrBuilder.java
@@ -521,8 +521,12 @@ public interface JobOrBuilder
    *
    * map<string, string> transform_name_mapping = 13;
    */
+
+  /* nullable */
   java.lang.String getTransformNameMappingOrDefault(
-      java.lang.String key, java.lang.String defaultValue);
+      java.lang.String key,
+      /* nullable */
+      java.lang.String defaultValue);
   /**
    *
    *
@@ -748,7 +752,12 @@ java.lang.String getTransformNameMappingOrDefault(
    *
    * map<string, string> labels = 17;
    */
-  java.lang.String getLabelsOrDefault(java.lang.String key, java.lang.String defaultValue);
+
+  /* nullable */
+  java.lang.String getLabelsOrDefault(
+      java.lang.String key,
+      /* nullable */
+      java.lang.String defaultValue);
   /**
    *
    *
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/KeyRangeDataDiskAssignment.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/KeyRangeDataDiskAssignment.java
index fa30da91..e6cf28df 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/KeyRangeDataDiskAssignment.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/KeyRangeDataDiskAssignment.java
@@ -107,6 +107,8 @@ private KeyRangeDataDiskAssignment(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/KeyRangeLocation.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/KeyRangeLocation.java
index 0d0f5719..760e9897 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/KeyRangeLocation.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/KeyRangeLocation.java
@@ -122,6 +122,8 @@ private KeyRangeLocation(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
@@ -361,6 +363,8 @@ public com.google.protobuf.ByteString getDataDiskBytes() {
    *
    * string deprecated_persistent_directory = 4 [deprecated = true];
    *
+   * @deprecated google.dataflow.v1beta3.KeyRangeLocation.deprecated_persistent_directory is
+   *     deprecated. See google/dataflow/v1beta3/streaming.proto;l=170
    * @return The deprecatedPersistentDirectory.
    */
   @java.lang.Override
@@ -386,6 +390,8 @@ public java.lang.String getDeprecatedPersistentDirectory() {
    *
    * string deprecated_persistent_directory = 4 [deprecated = true];
    *
+   * @deprecated google.dataflow.v1beta3.KeyRangeLocation.deprecated_persistent_directory is
+   *     deprecated. See google/dataflow/v1beta3/streaming.proto;l=170
    * @return The bytes for deprecatedPersistentDirectory.
    */
   @java.lang.Override
@@ -1242,6 +1248,8 @@ public Builder setDataDiskBytes(com.google.protobuf.ByteString value) {
      *
      * string deprecated_persistent_directory = 4 [deprecated = true];
      *
+     * @deprecated google.dataflow.v1beta3.KeyRangeLocation.deprecated_persistent_directory is
+     *     deprecated. See google/dataflow/v1beta3/streaming.proto;l=170
      * @return The deprecatedPersistentDirectory.
      */
     @java.lang.Deprecated
@@ -1266,6 +1274,8 @@ public java.lang.String getDeprecatedPersistentDirectory() {
      *
      * string deprecated_persistent_directory = 4 [deprecated = true];
      *
+     * @deprecated google.dataflow.v1beta3.KeyRangeLocation.deprecated_persistent_directory is
+     *     deprecated. See google/dataflow/v1beta3/streaming.proto;l=170
      * @return The bytes for deprecatedPersistentDirectory.
      */
     @java.lang.Deprecated
@@ -1290,6 +1300,8 @@ public com.google.protobuf.ByteString getDeprecatedPersistentDirectoryBytes() {
      *
      * string deprecated_persistent_directory = 4 [deprecated = true];
      *
+     * @deprecated google.dataflow.v1beta3.KeyRangeLocation.deprecated_persistent_directory is
+     *     deprecated. See google/dataflow/v1beta3/streaming.proto;l=170
      * @param value The deprecatedPersistentDirectory to set.
      * @return This builder for chaining.
      */
@@ -1313,6 +1325,8 @@ public Builder setDeprecatedPersistentDirectory(java.lang.String value) {
      *
      * string deprecated_persistent_directory = 4 [deprecated = true];
      *
+     * @deprecated google.dataflow.v1beta3.KeyRangeLocation.deprecated_persistent_directory is
+     *     deprecated. See google/dataflow/v1beta3/streaming.proto;l=170
      * @return This builder for chaining.
      */
     @java.lang.Deprecated
@@ -1332,6 +1346,8 @@ public Builder clearDeprecatedPersistentDirectory() {
      *
      * string deprecated_persistent_directory = 4 [deprecated = true];
      *
+     * @deprecated google.dataflow.v1beta3.KeyRangeLocation.deprecated_persistent_directory is
+     *     deprecated. See google/dataflow/v1beta3/streaming.proto;l=170
      * @param value The bytes for deprecatedPersistentDirectory to set.
      * @return This builder for chaining.
      */
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/KeyRangeLocationOrBuilder.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/KeyRangeLocationOrBuilder.java
index 99a60400..9eb7e53d 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/KeyRangeLocationOrBuilder.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/KeyRangeLocationOrBuilder.java
@@ -141,6 +141,8 @@ public interface KeyRangeLocationOrBuilder
    *
    * string deprecated_persistent_directory = 4 [deprecated = true];
    *
+   * @deprecated google.dataflow.v1beta3.KeyRangeLocation.deprecated_persistent_directory is
+   *     deprecated. See google/dataflow/v1beta3/streaming.proto;l=170
    * @return The deprecatedPersistentDirectory.
    */
   @java.lang.Deprecated
@@ -155,6 +157,8 @@ public interface KeyRangeLocationOrBuilder
    *
    * string deprecated_persistent_directory = 4 [deprecated = true];
    *
+   * @deprecated google.dataflow.v1beta3.KeyRangeLocation.deprecated_persistent_directory is
+   *     deprecated. See google/dataflow/v1beta3/streaming.proto;l=170
    * @return The bytes for deprecatedPersistentDirectory.
    */
   @java.lang.Deprecated
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/LaunchFlexTemplateParameter.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/LaunchFlexTemplateParameter.java
index 41b87ef4..891e7ab8 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/LaunchFlexTemplateParameter.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/LaunchFlexTemplateParameter.java
@@ -184,6 +184,8 @@ private LaunchFlexTemplateParameter(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
@@ -482,7 +484,7 @@ public int getParametersCount() {
   @java.lang.Override
   public boolean containsParameters(java.lang.String key) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     return internalGetParameters().getMap().containsKey(key);
   }
@@ -520,7 +522,7 @@ public java.util.Map getParametersMap() {
   public java.lang.String getParametersOrDefault(
       java.lang.String key, java.lang.String defaultValue) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     java.util.Map map = internalGetParameters().getMap();
     return map.containsKey(key) ? map.get(key) : defaultValue;
@@ -538,7 +540,7 @@ public java.lang.String getParametersOrDefault(
   @java.lang.Override
   public java.lang.String getParametersOrThrow(java.lang.String key) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     java.util.Map map = internalGetParameters().getMap();
     if (!map.containsKey(key)) {
@@ -588,7 +590,7 @@ public int getLaunchOptionsCount() {
   @java.lang.Override
   public boolean containsLaunchOptions(java.lang.String key) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     return internalGetLaunchOptions().getMap().containsKey(key);
   }
@@ -628,7 +630,7 @@ public java.util.Map getLaunchOptionsMap() {
   public java.lang.String getLaunchOptionsOrDefault(
       java.lang.String key, java.lang.String defaultValue) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     java.util.Map map = internalGetLaunchOptions().getMap();
     return map.containsKey(key) ? map.get(key) : defaultValue;
@@ -647,7 +649,7 @@ public java.lang.String getLaunchOptionsOrDefault(
   @java.lang.Override
   public java.lang.String getLaunchOptionsOrThrow(java.lang.String key) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     java.util.Map map = internalGetLaunchOptions().getMap();
     if (!map.containsKey(key)) {
@@ -765,7 +767,7 @@ public int getTransformNameMappingsCount() {
   @java.lang.Override
   public boolean containsTransformNameMappings(java.lang.String key) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     return internalGetTransformNameMappings().getMap().containsKey(key);
   }
@@ -803,7 +805,7 @@ public java.util.Map getTransformNameMapping
   public java.lang.String getTransformNameMappingsOrDefault(
       java.lang.String key, java.lang.String defaultValue) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     java.util.Map map =
         internalGetTransformNameMappings().getMap();
@@ -822,7 +824,7 @@ public java.lang.String getTransformNameMappingsOrDefault(
   @java.lang.Override
   public java.lang.String getTransformNameMappingsOrThrow(java.lang.String key) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     java.util.Map map =
         internalGetTransformNameMappings().getMap();
@@ -1597,8 +1599,9 @@ public Builder mergeContainerSpec(com.google.dataflow.v1beta3.ContainerSpec valu
       } else {
         if (templateCase_ == 4) {
           containerSpecBuilder_.mergeFrom(value);
+        } else {
+          containerSpecBuilder_.setMessage(value);
         }
-        containerSpecBuilder_.setMessage(value);
       }
       templateCase_ = 4;
       return this;
@@ -1875,7 +1878,7 @@ public int getParametersCount() {
     @java.lang.Override
     public boolean containsParameters(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       return internalGetParameters().getMap().containsKey(key);
     }
@@ -1913,7 +1916,7 @@ public java.util.Map getParametersMap() {
     public java.lang.String getParametersOrDefault(
         java.lang.String key, java.lang.String defaultValue) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       java.util.Map map = internalGetParameters().getMap();
       return map.containsKey(key) ? map.get(key) : defaultValue;
@@ -1931,7 +1934,7 @@ public java.lang.String getParametersOrDefault(
     @java.lang.Override
     public java.lang.String getParametersOrThrow(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       java.util.Map map = internalGetParameters().getMap();
       if (!map.containsKey(key)) {
@@ -1956,7 +1959,7 @@ public Builder clearParameters() {
      */
     public Builder removeParameters(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       internalGetMutableParameters().getMutableMap().remove(key);
       return this;
@@ -1978,11 +1981,12 @@ public java.util.Map getMutableParameters()
      */
     public Builder putParameters(java.lang.String key, java.lang.String value) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       if (value == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map value");
       }
+
       internalGetMutableParameters().getMutableMap().put(key, value);
       return this;
     }
@@ -2043,7 +2047,7 @@ public int getLaunchOptionsCount() {
     @java.lang.Override
     public boolean containsLaunchOptions(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       return internalGetLaunchOptions().getMap().containsKey(key);
     }
@@ -2083,7 +2087,7 @@ public java.util.Map getLaunchOptionsMap() {
     public java.lang.String getLaunchOptionsOrDefault(
         java.lang.String key, java.lang.String defaultValue) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       java.util.Map map = internalGetLaunchOptions().getMap();
       return map.containsKey(key) ? map.get(key) : defaultValue;
@@ -2102,7 +2106,7 @@ public java.lang.String getLaunchOptionsOrDefault(
     @java.lang.Override
     public java.lang.String getLaunchOptionsOrThrow(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       java.util.Map map = internalGetLaunchOptions().getMap();
       if (!map.containsKey(key)) {
@@ -2128,7 +2132,7 @@ public Builder clearLaunchOptions() {
      */
     public Builder removeLaunchOptions(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       internalGetMutableLaunchOptions().getMutableMap().remove(key);
       return this;
@@ -2151,11 +2155,12 @@ public java.util.Map getMutableLaunchOptions
      */
     public Builder putLaunchOptions(java.lang.String key, java.lang.String value) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       if (value == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map value");
       }
+
       internalGetMutableLaunchOptions().getMutableMap().put(key, value);
       return this;
     }
@@ -2465,7 +2470,7 @@ public int getTransformNameMappingsCount() {
     @java.lang.Override
     public boolean containsTransformNameMappings(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       return internalGetTransformNameMappings().getMap().containsKey(key);
     }
@@ -2503,7 +2508,7 @@ public java.util.Map getTransformNameMapping
     public java.lang.String getTransformNameMappingsOrDefault(
         java.lang.String key, java.lang.String defaultValue) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       java.util.Map map =
           internalGetTransformNameMappings().getMap();
@@ -2522,7 +2527,7 @@ public java.lang.String getTransformNameMappingsOrDefault(
     @java.lang.Override
     public java.lang.String getTransformNameMappingsOrThrow(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       java.util.Map map =
           internalGetTransformNameMappings().getMap();
@@ -2548,7 +2553,7 @@ public Builder clearTransformNameMappings() {
      */
     public Builder removeTransformNameMappings(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       internalGetMutableTransformNameMappings().getMutableMap().remove(key);
       return this;
@@ -2570,11 +2575,12 @@ public java.util.Map getMutableTransformName
      */
     public Builder putTransformNameMappings(java.lang.String key, java.lang.String value) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       if (value == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map value");
       }
+
       internalGetMutableTransformNameMappings().getMutableMap().put(key, value);
       return this;
     }
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/LaunchFlexTemplateParameterOrBuilder.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/LaunchFlexTemplateParameterOrBuilder.java
index a5b11e33..e8bf3a29 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/LaunchFlexTemplateParameterOrBuilder.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/LaunchFlexTemplateParameterOrBuilder.java
@@ -171,7 +171,12 @@ public interface LaunchFlexTemplateParameterOrBuilder
    *
    * map<string, string> parameters = 2;
    */
-  java.lang.String getParametersOrDefault(java.lang.String key, java.lang.String defaultValue);
+
+  /* nullable */
+  java.lang.String getParametersOrDefault(
+      java.lang.String key,
+      /* nullable */
+      java.lang.String defaultValue);
   /**
    *
    *
@@ -234,7 +239,12 @@ public interface LaunchFlexTemplateParameterOrBuilder
    *
    * map<string, string> launch_options = 6;
    */
-  java.lang.String getLaunchOptionsOrDefault(java.lang.String key, java.lang.String defaultValue);
+
+  /* nullable */
+  java.lang.String getLaunchOptionsOrDefault(
+      java.lang.String key,
+      /* nullable */
+      java.lang.String defaultValue);
   /**
    *
    *
@@ -344,8 +354,12 @@ public interface LaunchFlexTemplateParameterOrBuilder
    *
    * map<string, string> transform_name_mappings = 9;
    */
+
+  /* nullable */
   java.lang.String getTransformNameMappingsOrDefault(
-      java.lang.String key, java.lang.String defaultValue);
+      java.lang.String key,
+      /* nullable */
+      java.lang.String defaultValue);
   /**
    *
    *
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/LaunchFlexTemplateRequest.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/LaunchFlexTemplateRequest.java
index 68271b3c..279dd1c6 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/LaunchFlexTemplateRequest.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/LaunchFlexTemplateRequest.java
@@ -118,6 +118,8 @@ private LaunchFlexTemplateRequest(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/LaunchFlexTemplateResponse.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/LaunchFlexTemplateResponse.java
index fe9d9346..5cb38552 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/LaunchFlexTemplateResponse.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/LaunchFlexTemplateResponse.java
@@ -93,6 +93,8 @@ private LaunchFlexTemplateResponse(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/LaunchTemplateParameters.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/LaunchTemplateParameters.java
index 08972b73..e5832661 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/LaunchTemplateParameters.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/LaunchTemplateParameters.java
@@ -143,6 +143,8 @@ private LaunchTemplateParameters(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
@@ -265,7 +267,7 @@ public int getParametersCount() {
   @java.lang.Override
   public boolean containsParameters(java.lang.String key) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     return internalGetParameters().getMap().containsKey(key);
   }
@@ -301,7 +303,7 @@ public java.util.Map getParametersMap() {
   public java.lang.String getParametersOrDefault(
       java.lang.String key, java.lang.String defaultValue) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     java.util.Map map = internalGetParameters().getMap();
     return map.containsKey(key) ? map.get(key) : defaultValue;
@@ -318,7 +320,7 @@ public java.lang.String getParametersOrDefault(
   @java.lang.Override
   public java.lang.String getParametersOrThrow(java.lang.String key) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     java.util.Map map = internalGetParameters().getMap();
     if (!map.containsKey(key)) {
@@ -434,7 +436,7 @@ public int getTransformNameMappingCount() {
   @java.lang.Override
   public boolean containsTransformNameMapping(java.lang.String key) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     return internalGetTransformNameMapping().getMap().containsKey(key);
   }
@@ -472,7 +474,7 @@ public java.util.Map getTransformNameMapping
   public java.lang.String getTransformNameMappingOrDefault(
       java.lang.String key, java.lang.String defaultValue) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     java.util.Map map =
         internalGetTransformNameMapping().getMap();
@@ -491,7 +493,7 @@ public java.lang.String getTransformNameMappingOrDefault(
   @java.lang.Override
   public java.lang.String getTransformNameMappingOrThrow(java.lang.String key) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     java.util.Map map =
         internalGetTransformNameMapping().getMap();
@@ -1081,7 +1083,7 @@ public int getParametersCount() {
     @java.lang.Override
     public boolean containsParameters(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       return internalGetParameters().getMap().containsKey(key);
     }
@@ -1117,7 +1119,7 @@ public java.util.Map getParametersMap() {
     public java.lang.String getParametersOrDefault(
         java.lang.String key, java.lang.String defaultValue) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       java.util.Map map = internalGetParameters().getMap();
       return map.containsKey(key) ? map.get(key) : defaultValue;
@@ -1134,7 +1136,7 @@ public java.lang.String getParametersOrDefault(
     @java.lang.Override
     public java.lang.String getParametersOrThrow(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       java.util.Map map = internalGetParameters().getMap();
       if (!map.containsKey(key)) {
@@ -1158,7 +1160,7 @@ public Builder clearParameters() {
      */
     public Builder removeParameters(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       internalGetMutableParameters().getMutableMap().remove(key);
       return this;
@@ -1179,11 +1181,12 @@ public java.util.Map getMutableParameters()
      */
     public Builder putParameters(java.lang.String key, java.lang.String value) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       if (value == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map value");
       }
+
       internalGetMutableParameters().getMutableMap().put(key, value);
       return this;
     }
@@ -1484,7 +1487,7 @@ public int getTransformNameMappingCount() {
     @java.lang.Override
     public boolean containsTransformNameMapping(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       return internalGetTransformNameMapping().getMap().containsKey(key);
     }
@@ -1522,7 +1525,7 @@ public java.util.Map getTransformNameMapping
     public java.lang.String getTransformNameMappingOrDefault(
         java.lang.String key, java.lang.String defaultValue) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       java.util.Map map =
           internalGetTransformNameMapping().getMap();
@@ -1541,7 +1544,7 @@ public java.lang.String getTransformNameMappingOrDefault(
     @java.lang.Override
     public java.lang.String getTransformNameMappingOrThrow(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       java.util.Map map =
           internalGetTransformNameMapping().getMap();
@@ -1567,7 +1570,7 @@ public Builder clearTransformNameMapping() {
      */
     public Builder removeTransformNameMapping(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       internalGetMutableTransformNameMapping().getMutableMap().remove(key);
       return this;
@@ -1589,11 +1592,12 @@ public java.util.Map getMutableTransformName
      */
     public Builder putTransformNameMapping(java.lang.String key, java.lang.String value) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       if (value == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map value");
       }
+
       internalGetMutableTransformNameMapping().getMutableMap().put(key, value);
       return this;
     }
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/LaunchTemplateParametersOrBuilder.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/LaunchTemplateParametersOrBuilder.java
index abde894a..40f368f6 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/LaunchTemplateParametersOrBuilder.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/LaunchTemplateParametersOrBuilder.java
@@ -90,7 +90,12 @@ public interface LaunchTemplateParametersOrBuilder
    *
    * map<string, string> parameters = 2;
    */
-  java.lang.String getParametersOrDefault(java.lang.String key, java.lang.String defaultValue);
+
+  /* nullable */
+  java.lang.String getParametersOrDefault(
+      java.lang.String key,
+      /* nullable */
+      java.lang.String defaultValue);
   /**
    *
    *
@@ -197,8 +202,12 @@ public interface LaunchTemplateParametersOrBuilder
    *
    * map<string, string> transform_name_mapping = 5;
    */
+
+  /* nullable */
   java.lang.String getTransformNameMappingOrDefault(
-      java.lang.String key, java.lang.String defaultValue);
+      java.lang.String key,
+      /* nullable */
+      java.lang.String defaultValue);
   /**
    *
    *
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/LaunchTemplateRequest.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/LaunchTemplateRequest.java
index 8c9708df..d3cfff21 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/LaunchTemplateRequest.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/LaunchTemplateRequest.java
@@ -145,6 +145,8 @@ private LaunchTemplateRequest(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
@@ -1397,8 +1399,9 @@ public Builder mergeDynamicTemplate(
       } else {
         if (templateCase_ == 6) {
           dynamicTemplateBuilder_.mergeFrom(value);
+        } else {
+          dynamicTemplateBuilder_.setMessage(value);
         }
-        dynamicTemplateBuilder_.setMessage(value);
       }
       templateCase_ = 6;
       return this;
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/LaunchTemplateResponse.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/LaunchTemplateResponse.java
index d083b728..9b18abfb 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/LaunchTemplateResponse.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/LaunchTemplateResponse.java
@@ -93,6 +93,8 @@ private LaunchTemplateResponse(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ListJobMessagesRequest.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ListJobMessagesRequest.java
index 23c27702..474bd0c2 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ListJobMessagesRequest.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ListJobMessagesRequest.java
@@ -158,6 +158,8 @@ private ListJobMessagesRequest(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ListJobMessagesResponse.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ListJobMessagesResponse.java
index 35086611..bd5f49e3 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ListJobMessagesResponse.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ListJobMessagesResponse.java
@@ -114,6 +114,8 @@ private ListJobMessagesResponse(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ListJobsRequest.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ListJobsRequest.java
index 7369fb83..bff06a72 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ListJobsRequest.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ListJobsRequest.java
@@ -125,6 +125,8 @@ private ListJobsRequest(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
@@ -436,6 +438,8 @@ public com.google.protobuf.ByteString getProjectIdBytes() {
    *
    * .google.dataflow.v1beta3.JobView view = 2 [deprecated = true];
    *
+   * @deprecated google.dataflow.v1beta3.ListJobsRequest.view is deprecated. See
+   *     google/dataflow/v1beta3/jobs.proto;l=849
    * @return The enum numeric value on the wire for view.
    */
   @java.lang.Override
@@ -453,6 +457,8 @@ public int getViewValue() {
    *
    * .google.dataflow.v1beta3.JobView view = 2 [deprecated = true];
    *
+   * @deprecated google.dataflow.v1beta3.ListJobsRequest.view is deprecated. See
+   *     google/dataflow/v1beta3/jobs.proto;l=849
    * @return The view.
    */
   @java.lang.Override
@@ -1190,6 +1196,8 @@ public Builder setProjectIdBytes(com.google.protobuf.ByteString value) {
      *
      * .google.dataflow.v1beta3.JobView view = 2 [deprecated = true];
      *
+     * @deprecated google.dataflow.v1beta3.ListJobsRequest.view is deprecated. See
+     *     google/dataflow/v1beta3/jobs.proto;l=849
      * @return The enum numeric value on the wire for view.
      */
     @java.lang.Override
@@ -1207,6 +1215,8 @@ public int getViewValue() {
      *
      * .google.dataflow.v1beta3.JobView view = 2 [deprecated = true];
      *
+     * @deprecated google.dataflow.v1beta3.ListJobsRequest.view is deprecated. See
+     *     google/dataflow/v1beta3/jobs.proto;l=849
      * @param value The enum numeric value on the wire for view to set.
      * @return This builder for chaining.
      */
@@ -1227,6 +1237,8 @@ public Builder setViewValue(int value) {
      *
      * .google.dataflow.v1beta3.JobView view = 2 [deprecated = true];
      *
+     * @deprecated google.dataflow.v1beta3.ListJobsRequest.view is deprecated. See
+     *     google/dataflow/v1beta3/jobs.proto;l=849
      * @return The view.
      */
     @java.lang.Override
@@ -1247,6 +1259,8 @@ public com.google.dataflow.v1beta3.JobView getView() {
      *
      * .google.dataflow.v1beta3.JobView view = 2 [deprecated = true];
      *
+     * @deprecated google.dataflow.v1beta3.ListJobsRequest.view is deprecated. See
+     *     google/dataflow/v1beta3/jobs.proto;l=849
      * @param value The view to set.
      * @return This builder for chaining.
      */
@@ -1270,6 +1284,8 @@ public Builder setView(com.google.dataflow.v1beta3.JobView value) {
      *
      * .google.dataflow.v1beta3.JobView view = 2 [deprecated = true];
      *
+     * @deprecated google.dataflow.v1beta3.ListJobsRequest.view is deprecated. See
+     *     google/dataflow/v1beta3/jobs.proto;l=849
      * @return This builder for chaining.
      */
     @java.lang.Deprecated
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ListJobsRequestOrBuilder.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ListJobsRequestOrBuilder.java
index 600a1c5e..9966be7b 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ListJobsRequestOrBuilder.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ListJobsRequestOrBuilder.java
@@ -83,6 +83,8 @@ public interface ListJobsRequestOrBuilder
    *
    * .google.dataflow.v1beta3.JobView view = 2 [deprecated = true];
    *
+   * @deprecated google.dataflow.v1beta3.ListJobsRequest.view is deprecated. See
+   *     google/dataflow/v1beta3/jobs.proto;l=849
    * @return The enum numeric value on the wire for view.
    */
   @java.lang.Deprecated
@@ -97,6 +99,8 @@ public interface ListJobsRequestOrBuilder
    *
    * .google.dataflow.v1beta3.JobView view = 2 [deprecated = true];
    *
+   * @deprecated google.dataflow.v1beta3.ListJobsRequest.view is deprecated. See
+   *     google/dataflow/v1beta3/jobs.proto;l=849
    * @return The view.
    */
   @java.lang.Deprecated
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ListJobsResponse.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ListJobsResponse.java
index dd8429d4..f9856c0c 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ListJobsResponse.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ListJobsResponse.java
@@ -117,6 +117,8 @@ private ListJobsResponse(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ListSnapshotsRequest.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ListSnapshotsRequest.java
index 772bb15d..cd97376b 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ListSnapshotsRequest.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ListSnapshotsRequest.java
@@ -104,6 +104,8 @@ private ListSnapshotsRequest(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ListSnapshotsResponse.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ListSnapshotsResponse.java
index 3f782d78..9ca8e95b 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ListSnapshotsResponse.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ListSnapshotsResponse.java
@@ -93,6 +93,8 @@ private ListSnapshotsResponse(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/MetricStructuredName.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/MetricStructuredName.java
index 366cc89b..6b65eae9 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/MetricStructuredName.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/MetricStructuredName.java
@@ -112,6 +112,8 @@ private MetricStructuredName(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
@@ -287,7 +289,7 @@ public int getContextCount() {
   @java.lang.Override
   public boolean containsContext(java.lang.String key) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     return internalGetContext().getMap().containsKey(key);
   }
@@ -330,7 +332,7 @@ public java.util.Map getContextMap() {
   @java.lang.Override
   public java.lang.String getContextOrDefault(java.lang.String key, java.lang.String defaultValue) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     java.util.Map map = internalGetContext().getMap();
     return map.containsKey(key) ? map.get(key) : defaultValue;
@@ -351,7 +353,7 @@ public java.lang.String getContextOrDefault(java.lang.String key, java.lang.Stri
   @java.lang.Override
   public java.lang.String getContextOrThrow(java.lang.String key) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     java.util.Map map = internalGetContext().getMap();
     if (!map.containsKey(key)) {
@@ -996,7 +998,7 @@ public int getContextCount() {
     @java.lang.Override
     public boolean containsContext(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       return internalGetContext().getMap().containsKey(key);
     }
@@ -1040,7 +1042,7 @@ public java.util.Map getContextMap() {
     public java.lang.String getContextOrDefault(
         java.lang.String key, java.lang.String defaultValue) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       java.util.Map map = internalGetContext().getMap();
       return map.containsKey(key) ? map.get(key) : defaultValue;
@@ -1061,7 +1063,7 @@ public java.lang.String getContextOrDefault(
     @java.lang.Override
     public java.lang.String getContextOrThrow(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       java.util.Map map = internalGetContext().getMap();
       if (!map.containsKey(key)) {
@@ -1089,7 +1091,7 @@ public Builder clearContext() {
      */
     public Builder removeContext(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       internalGetMutableContext().getMutableMap().remove(key);
       return this;
@@ -1114,11 +1116,12 @@ public java.util.Map getMutableContext() {
      */
     public Builder putContext(java.lang.String key, java.lang.String value) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       if (value == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map value");
       }
+
       internalGetMutableContext().getMutableMap().put(key, value);
       return this;
     }
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/MetricStructuredNameOrBuilder.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/MetricStructuredNameOrBuilder.java
index f0717851..3fbd935e 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/MetricStructuredNameOrBuilder.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/MetricStructuredNameOrBuilder.java
@@ -133,7 +133,12 @@ public interface MetricStructuredNameOrBuilder
    *
    * map<string, string> context = 3;
    */
-  java.lang.String getContextOrDefault(java.lang.String key, java.lang.String defaultValue);
+
+  /* nullable */
+  java.lang.String getContextOrDefault(
+      java.lang.String key,
+      /* nullable */
+      java.lang.String defaultValue);
   /**
    *
    *
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/MetricUpdate.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/MetricUpdate.java
index 6dd226a1..acafd5d9 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/MetricUpdate.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/MetricUpdate.java
@@ -223,6 +223,8 @@ private MetricUpdate(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/MountedDataDisk.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/MountedDataDisk.java
index e5c273a5..93078afb 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/MountedDataDisk.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/MountedDataDisk.java
@@ -88,6 +88,8 @@ private MountedDataDisk(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/Package.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/Package.java
index e0314830..73df96d4 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/Package.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/Package.java
@@ -103,6 +103,8 @@ private Package(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ParameterMetadata.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ParameterMetadata.java
index ad881e2f..26c21c3e 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ParameterMetadata.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ParameterMetadata.java
@@ -146,6 +146,8 @@ private ParameterMetadata(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
@@ -486,7 +488,7 @@ public int getCustomMetadataCount() {
   @java.lang.Override
   public boolean containsCustomMetadata(java.lang.String key) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     return internalGetCustomMetadata().getMap().containsKey(key);
   }
@@ -522,7 +524,7 @@ public java.util.Map getCustomMetadataMap()
   public java.lang.String getCustomMetadataOrDefault(
       java.lang.String key, java.lang.String defaultValue) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     java.util.Map map = internalGetCustomMetadata().getMap();
     return map.containsKey(key) ? map.get(key) : defaultValue;
@@ -539,7 +541,7 @@ public java.lang.String getCustomMetadataOrDefault(
   @java.lang.Override
   public java.lang.String getCustomMetadataOrThrow(java.lang.String key) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     java.util.Map map = internalGetCustomMetadata().getMap();
     if (!map.containsKey(key)) {
@@ -1677,7 +1679,7 @@ public int getCustomMetadataCount() {
     @java.lang.Override
     public boolean containsCustomMetadata(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       return internalGetCustomMetadata().getMap().containsKey(key);
     }
@@ -1713,7 +1715,7 @@ public java.util.Map getCustomMetadataMap()
     public java.lang.String getCustomMetadataOrDefault(
         java.lang.String key, java.lang.String defaultValue) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       java.util.Map map = internalGetCustomMetadata().getMap();
       return map.containsKey(key) ? map.get(key) : defaultValue;
@@ -1730,7 +1732,7 @@ public java.lang.String getCustomMetadataOrDefault(
     @java.lang.Override
     public java.lang.String getCustomMetadataOrThrow(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       java.util.Map map = internalGetCustomMetadata().getMap();
       if (!map.containsKey(key)) {
@@ -1754,7 +1756,7 @@ public Builder clearCustomMetadata() {
      */
     public Builder removeCustomMetadata(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       internalGetMutableCustomMetadata().getMutableMap().remove(key);
       return this;
@@ -1775,11 +1777,12 @@ public java.util.Map getMutableCustomMetadat
      */
     public Builder putCustomMetadata(java.lang.String key, java.lang.String value) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       if (value == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map value");
       }
+
       internalGetMutableCustomMetadata().getMutableMap().put(key, value);
       return this;
     }
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ParameterMetadataOrBuilder.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ParameterMetadataOrBuilder.java
index df77661d..2fa720f7 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ParameterMetadataOrBuilder.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ParameterMetadataOrBuilder.java
@@ -231,7 +231,12 @@ public interface ParameterMetadataOrBuilder
    *
    * map<string, string> custom_metadata = 7;
    */
-  java.lang.String getCustomMetadataOrDefault(java.lang.String key, java.lang.String defaultValue);
+
+  /* nullable */
+  java.lang.String getCustomMetadataOrDefault(
+      java.lang.String key,
+      /* nullable */
+      java.lang.String defaultValue);
   /**
    *
    *
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/PipelineDescription.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/PipelineDescription.java
index 311a4649..53aad147 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/PipelineDescription.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/PipelineDescription.java
@@ -122,6 +122,8 @@ private PipelineDescription(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ProgressTimeseries.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ProgressTimeseries.java
index fe8a3402..e8728d2d 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ProgressTimeseries.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/ProgressTimeseries.java
@@ -100,6 +100,8 @@ private ProgressTimeseries(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
@@ -260,6 +262,8 @@ private Point(
         }
       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
         throw e.setUnfinishedMessage(this);
+      } catch (com.google.protobuf.UninitializedMessageException e) {
+        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
       } catch (java.io.IOException e) {
         throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
       } finally {
@@ -364,7 +368,7 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io
       if (time_ != null) {
         output.writeMessage(1, getTime());
       }
-      if (value_ != 0D) {
+      if (java.lang.Double.doubleToRawLongBits(value_) != 0) {
         output.writeDouble(2, value_);
       }
       unknownFields.writeTo(output);
@@ -379,7 +383,7 @@ public int getSerializedSize() {
       if (time_ != null) {
         size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getTime());
       }
-      if (value_ != 0D) {
+      if (java.lang.Double.doubleToRawLongBits(value_) != 0) {
         size += com.google.protobuf.CodedOutputStream.computeDoubleSize(2, value_);
       }
       size += unknownFields.getSerializedSize();
@@ -1090,7 +1094,7 @@ public final boolean isInitialized() {
 
   @java.lang.Override
   public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
-    if (currentProgress_ != 0D) {
+    if (java.lang.Double.doubleToRawLongBits(currentProgress_) != 0) {
       output.writeDouble(1, currentProgress_);
     }
     for (int i = 0; i < dataPoints_.size(); i++) {
@@ -1105,7 +1109,7 @@ public int getSerializedSize() {
     if (size != -1) return size;
 
     size = 0;
-    if (currentProgress_ != 0D) {
+    if (java.lang.Double.doubleToRawLongBits(currentProgress_) != 0) {
       size += com.google.protobuf.CodedOutputStream.computeDoubleSize(1, currentProgress_);
     }
     for (int i = 0; i < dataPoints_.size(); i++) {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/PubSubIODetails.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/PubSubIODetails.java
index 0b05a472..84c7acce 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/PubSubIODetails.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/PubSubIODetails.java
@@ -96,6 +96,8 @@ private PubSubIODetails(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/PubsubLocation.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/PubsubLocation.java
index d1c4ec6d..9551cc69 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/PubsubLocation.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/PubsubLocation.java
@@ -131,6 +131,8 @@ private PubsubLocation(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/PubsubSnapshotMetadata.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/PubsubSnapshotMetadata.java
index 23f080d9..bc8e4b4e 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/PubsubSnapshotMetadata.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/PubsubSnapshotMetadata.java
@@ -111,6 +111,8 @@ private PubsubSnapshotMetadata(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/RuntimeEnvironment.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/RuntimeEnvironment.java
index 8e302621..5b9eedc7 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/RuntimeEnvironment.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/RuntimeEnvironment.java
@@ -210,6 +210,8 @@ private RuntimeEnvironment(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
@@ -728,7 +730,7 @@ public int getAdditionalUserLabelsCount() {
   @java.lang.Override
   public boolean containsAdditionalUserLabels(java.lang.String key) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     return internalGetAdditionalUserLabels().getMap().containsKey(key);
   }
@@ -774,7 +776,7 @@ public java.util.Map getAdditionalUserLabels
   public java.lang.String getAdditionalUserLabelsOrDefault(
       java.lang.String key, java.lang.String defaultValue) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     java.util.Map map =
         internalGetAdditionalUserLabels().getMap();
@@ -797,7 +799,7 @@ public java.lang.String getAdditionalUserLabelsOrDefault(
   @java.lang.Override
   public java.lang.String getAdditionalUserLabelsOrThrow(java.lang.String key) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     java.util.Map map =
         internalGetAdditionalUserLabels().getMap();
@@ -2714,7 +2716,7 @@ public int getAdditionalUserLabelsCount() {
     @java.lang.Override
     public boolean containsAdditionalUserLabels(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       return internalGetAdditionalUserLabels().getMap().containsKey(key);
     }
@@ -2760,7 +2762,7 @@ public java.util.Map getAdditionalUserLabels
     public java.lang.String getAdditionalUserLabelsOrDefault(
         java.lang.String key, java.lang.String defaultValue) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       java.util.Map map =
           internalGetAdditionalUserLabels().getMap();
@@ -2783,7 +2785,7 @@ public java.lang.String getAdditionalUserLabelsOrDefault(
     @java.lang.Override
     public java.lang.String getAdditionalUserLabelsOrThrow(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       java.util.Map map =
           internalGetAdditionalUserLabels().getMap();
@@ -2813,7 +2815,7 @@ public Builder clearAdditionalUserLabels() {
      */
     public Builder removeAdditionalUserLabels(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       internalGetMutableAdditionalUserLabels().getMutableMap().remove(key);
       return this;
@@ -2839,11 +2841,12 @@ public java.util.Map getMutableAdditionalUse
      */
     public Builder putAdditionalUserLabels(java.lang.String key, java.lang.String value) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       if (value == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map value");
       }
+
       internalGetMutableAdditionalUserLabels().getMutableMap().put(key, value);
       return this;
     }
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/RuntimeEnvironmentOrBuilder.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/RuntimeEnvironmentOrBuilder.java
index a81e6964..55911dab 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/RuntimeEnvironmentOrBuilder.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/RuntimeEnvironmentOrBuilder.java
@@ -353,8 +353,12 @@ public interface RuntimeEnvironmentOrBuilder
    *
    * map<string, string> additional_user_labels = 10;
    */
+
+  /* nullable */
   java.lang.String getAdditionalUserLabelsOrDefault(
-      java.lang.String key, java.lang.String defaultValue);
+      java.lang.String key,
+      /* nullable */
+      java.lang.String defaultValue);
   /**
    *
    *
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/RuntimeMetadata.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/RuntimeMetadata.java
index 3b54d241..f8044462 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/RuntimeMetadata.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/RuntimeMetadata.java
@@ -110,6 +110,8 @@ private RuntimeMetadata(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/SDKInfo.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/SDKInfo.java
index af793ea9..01d93c32 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/SDKInfo.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/SDKInfo.java
@@ -96,6 +96,8 @@ private SDKInfo(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/SdkHarnessContainerImage.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/SdkHarnessContainerImage.java
index 1266b633..d7f40596 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/SdkHarnessContainerImage.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/SdkHarnessContainerImage.java
@@ -113,6 +113,8 @@ private SdkHarnessContainerImage(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/SdkVersion.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/SdkVersion.java
index dc23d998..f377ebfc 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/SdkVersion.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/SdkVersion.java
@@ -104,6 +104,8 @@ private SdkVersion(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/Snapshot.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/Snapshot.java
index 7d8087ba..2e62279e 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/Snapshot.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/Snapshot.java
@@ -177,6 +177,8 @@ private Snapshot(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/SnapshotJobRequest.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/SnapshotJobRequest.java
index 38c505a9..6e2e6ad0 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/SnapshotJobRequest.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/SnapshotJobRequest.java
@@ -131,6 +131,8 @@ private SnapshotJobRequest(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/SpannerIODetails.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/SpannerIODetails.java
index d2b9daa7..d0aeea8f 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/SpannerIODetails.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/SpannerIODetails.java
@@ -104,6 +104,8 @@ private SpannerIODetails(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/StageExecutionDetails.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/StageExecutionDetails.java
index 7fbee18b..b22e7c0c 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/StageExecutionDetails.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/StageExecutionDetails.java
@@ -101,6 +101,8 @@ private StageExecutionDetails(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/StageSummary.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/StageSummary.java
index cd66c86f..94b961ae 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/StageSummary.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/StageSummary.java
@@ -155,6 +155,8 @@ private StageSummary(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/StateFamilyConfig.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/StateFamilyConfig.java
index 66a60419..6c3b233b 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/StateFamilyConfig.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/StateFamilyConfig.java
@@ -93,6 +93,8 @@ private StateFamilyConfig(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/Step.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/Step.java
index c8713d3d..50a490cd 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/Step.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/Step.java
@@ -127,6 +127,8 @@ private Step(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/StreamLocation.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/StreamLocation.java
index 24eb21d1..bc5d44ac 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/StreamLocation.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/StreamLocation.java
@@ -152,6 +152,8 @@ private StreamLocation(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
@@ -999,8 +1001,9 @@ public Builder mergeStreamingStageLocation(
       } else {
         if (locationCase_ == 1) {
           streamingStageLocationBuilder_.mergeFrom(value);
+        } else {
+          streamingStageLocationBuilder_.setMessage(value);
         }
-        streamingStageLocationBuilder_.setMessage(value);
       }
       locationCase_ = 1;
       return this;
@@ -1214,8 +1217,9 @@ public Builder mergePubsubLocation(com.google.dataflow.v1beta3.PubsubLocation va
       } else {
         if (locationCase_ == 2) {
           pubsubLocationBuilder_.mergeFrom(value);
+        } else {
+          pubsubLocationBuilder_.setMessage(value);
         }
-        pubsubLocationBuilder_.setMessage(value);
       }
       locationCase_ = 2;
       return this;
@@ -1426,8 +1430,9 @@ public Builder mergeSideInputLocation(
       } else {
         if (locationCase_ == 3) {
           sideInputLocationBuilder_.mergeFrom(value);
+        } else {
+          sideInputLocationBuilder_.setMessage(value);
         }
-        sideInputLocationBuilder_.setMessage(value);
       }
       locationCase_ = 3;
       return this;
@@ -1638,8 +1643,9 @@ public Builder mergeCustomSourceLocation(
       } else {
         if (locationCase_ == 4) {
           customSourceLocationBuilder_.mergeFrom(value);
+        } else {
+          customSourceLocationBuilder_.setMessage(value);
         }
-        customSourceLocationBuilder_.setMessage(value);
       }
       locationCase_ = 4;
       return this;
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/StreamingApplianceSnapshotConfig.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/StreamingApplianceSnapshotConfig.java
index 33088e45..14feff0f 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/StreamingApplianceSnapshotConfig.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/StreamingApplianceSnapshotConfig.java
@@ -97,6 +97,8 @@ private StreamingApplianceSnapshotConfig(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/StreamingComputationRanges.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/StreamingComputationRanges.java
index 59e2b3b9..273a438b 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/StreamingComputationRanges.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/StreamingComputationRanges.java
@@ -105,6 +105,8 @@ private StreamingComputationRanges(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/StreamingSideInputLocation.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/StreamingSideInputLocation.java
index aa2f3de3..0bdb6439 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/StreamingSideInputLocation.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/StreamingSideInputLocation.java
@@ -96,6 +96,8 @@ private StreamingSideInputLocation(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/StreamingStageLocation.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/StreamingStageLocation.java
index eb4c1148..c11441ec 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/StreamingStageLocation.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/StreamingStageLocation.java
@@ -89,6 +89,8 @@ private StreamingStageLocation(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/StructuredMessage.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/StructuredMessage.java
index 57eab67f..18f3eb52 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/StructuredMessage.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/StructuredMessage.java
@@ -114,6 +114,8 @@ private StructuredMessage(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
@@ -289,6 +291,8 @@ private Parameter(
         }
       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
         throw e.setUnfinishedMessage(this);
+      } catch (com.google.protobuf.UninitializedMessageException e) {
+        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
       } catch (java.io.IOException e) {
         throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
       } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/TaskRunnerSettings.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/TaskRunnerSettings.java
index b5eb7e2e..4ed8a471 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/TaskRunnerSettings.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/TaskRunnerSettings.java
@@ -235,6 +235,8 @@ private TaskRunnerSettings(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/TemplateMetadata.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/TemplateMetadata.java
index a667707e..75d4130f 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/TemplateMetadata.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/TemplateMetadata.java
@@ -110,6 +110,8 @@ private TemplateMetadata(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/TopologyConfig.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/TopologyConfig.java
index 470a3d69..4f808459 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/TopologyConfig.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/TopologyConfig.java
@@ -139,6 +139,8 @@ private TopologyConfig(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
@@ -360,7 +362,7 @@ public int getUserStageToComputationNameMapCount() {
   @java.lang.Override
   public boolean containsUserStageToComputationNameMap(java.lang.String key) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     return internalGetUserStageToComputationNameMap().getMap().containsKey(key);
   }
@@ -396,7 +398,7 @@ public java.util.Map getUserStageToComputati
   public java.lang.String getUserStageToComputationNameMapOrDefault(
       java.lang.String key, java.lang.String defaultValue) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     java.util.Map map =
         internalGetUserStageToComputationNameMap().getMap();
@@ -414,7 +416,7 @@ public java.lang.String getUserStageToComputationNameMapOrDefault(
   @java.lang.Override
   public java.lang.String getUserStageToComputationNameMapOrThrow(java.lang.String key) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     java.util.Map map =
         internalGetUserStageToComputationNameMap().getMap();
@@ -1712,7 +1714,7 @@ public int getUserStageToComputationNameMapCount() {
     @java.lang.Override
     public boolean containsUserStageToComputationNameMap(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       return internalGetUserStageToComputationNameMap().getMap().containsKey(key);
     }
@@ -1748,7 +1750,7 @@ public java.util.Map getUserStageToComputati
     public java.lang.String getUserStageToComputationNameMapOrDefault(
         java.lang.String key, java.lang.String defaultValue) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       java.util.Map map =
           internalGetUserStageToComputationNameMap().getMap();
@@ -1766,7 +1768,7 @@ public java.lang.String getUserStageToComputationNameMapOrDefault(
     @java.lang.Override
     public java.lang.String getUserStageToComputationNameMapOrThrow(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       java.util.Map map =
           internalGetUserStageToComputationNameMap().getMap();
@@ -1791,7 +1793,7 @@ public Builder clearUserStageToComputationNameMap() {
      */
     public Builder removeUserStageToComputationNameMap(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       internalGetMutableUserStageToComputationNameMap().getMutableMap().remove(key);
       return this;
@@ -1813,11 +1815,12 @@ public Builder removeUserStageToComputationNameMap(java.lang.String key) {
      */
     public Builder putUserStageToComputationNameMap(java.lang.String key, java.lang.String value) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       if (value == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map value");
       }
+
       internalGetMutableUserStageToComputationNameMap().getMutableMap().put(key, value);
       return this;
     }
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/TopologyConfigOrBuilder.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/TopologyConfigOrBuilder.java
index 118a587b..ce9e5842 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/TopologyConfigOrBuilder.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/TopologyConfigOrBuilder.java
@@ -170,8 +170,12 @@ com.google.dataflow.v1beta3.DataDiskAssignmentOrBuilder getDataDiskAssignmentsOr
    *
    * map<string, string> user_stage_to_computation_name_map = 3;
    */
+
+  /* nullable */
   java.lang.String getUserStageToComputationNameMapOrDefault(
-      java.lang.String key, java.lang.String defaultValue);
+      java.lang.String key,
+      /* nullable */
+      java.lang.String defaultValue);
   /**
    *
    *
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/TransformSummary.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/TransformSummary.java
index 65aefa47..e29efdea 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/TransformSummary.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/TransformSummary.java
@@ -139,6 +139,8 @@ private TransformSummary(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/UpdateJobRequest.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/UpdateJobRequest.java
index fd287584..3da75db8 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/UpdateJobRequest.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/UpdateJobRequest.java
@@ -118,6 +118,8 @@ private UpdateJobRequest(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/WorkItemDetails.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/WorkItemDetails.java
index 46aede74..411da79c 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/WorkItemDetails.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/WorkItemDetails.java
@@ -163,6 +163,8 @@ private WorkItemDetails(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/WorkerDetails.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/WorkerDetails.java
index cb422727..1b388e24 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/WorkerDetails.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/WorkerDetails.java
@@ -101,6 +101,8 @@ private WorkerDetails(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/WorkerPool.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/WorkerPool.java
index b9d142ca..ffc9efd7 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/WorkerPool.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/WorkerPool.java
@@ -294,6 +294,8 @@ private WorkerPool(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
@@ -1012,7 +1014,7 @@ public int getMetadataCount() {
   @java.lang.Override
   public boolean containsMetadata(java.lang.String key) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     return internalGetMetadata().getMap().containsKey(key);
   }
@@ -1048,7 +1050,7 @@ public java.util.Map getMetadataMap() {
   public java.lang.String getMetadataOrDefault(
       java.lang.String key, java.lang.String defaultValue) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     java.util.Map map = internalGetMetadata().getMap();
     return map.containsKey(key) ? map.get(key) : defaultValue;
@@ -1065,7 +1067,7 @@ public java.lang.String getMetadataOrDefault(
   @java.lang.Override
   public java.lang.String getMetadataOrThrow(java.lang.String key) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     java.util.Map map = internalGetMetadata().getMap();
     if (!map.containsKey(key)) {
@@ -4294,7 +4296,7 @@ public int getMetadataCount() {
     @java.lang.Override
     public boolean containsMetadata(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       return internalGetMetadata().getMap().containsKey(key);
     }
@@ -4330,7 +4332,7 @@ public java.util.Map getMetadataMap() {
     public java.lang.String getMetadataOrDefault(
         java.lang.String key, java.lang.String defaultValue) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       java.util.Map map = internalGetMetadata().getMap();
       return map.containsKey(key) ? map.get(key) : defaultValue;
@@ -4347,7 +4349,7 @@ public java.lang.String getMetadataOrDefault(
     @java.lang.Override
     public java.lang.String getMetadataOrThrow(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       java.util.Map map = internalGetMetadata().getMap();
       if (!map.containsKey(key)) {
@@ -4371,7 +4373,7 @@ public Builder clearMetadata() {
      */
     public Builder removeMetadata(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       internalGetMutableMetadata().getMutableMap().remove(key);
       return this;
@@ -4392,11 +4394,12 @@ public java.util.Map getMutableMetadata() {
      */
     public Builder putMetadata(java.lang.String key, java.lang.String value) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       if (value == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map value");
       }
+
       internalGetMutableMetadata().getMutableMap().put(key, value);
       return this;
     }
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/WorkerPoolOrBuilder.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/WorkerPoolOrBuilder.java
index 1237ba1a..dd2e4268 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/WorkerPoolOrBuilder.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/WorkerPoolOrBuilder.java
@@ -477,7 +477,12 @@ public interface WorkerPoolOrBuilder
    *
    * map<string, string> metadata = 13;
    */
-  java.lang.String getMetadataOrDefault(java.lang.String key, java.lang.String defaultValue);
+
+  /* nullable */
+  java.lang.String getMetadataOrDefault(
+      java.lang.String key,
+      /* nullable */
+      java.lang.String defaultValue);
   /**
    *
    *
diff --git a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/WorkerSettings.java b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/WorkerSettings.java
index a94e6cdb..08a89928 100644
--- a/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/WorkerSettings.java
+++ b/proto-google-cloud-dataflow-v1beta3/src/main/java/com/google/dataflow/v1beta3/WorkerSettings.java
@@ -125,6 +125,8 @@ private WorkerSettings(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/samples/install-without-bom/pom.xml b/samples/install-without-bom/pom.xml
index 132e2f6f..aab4854f 100644
--- a/samples/install-without-bom/pom.xml
+++ b/samples/install-without-bom/pom.xml
@@ -29,7 +29,7 @@
     
       com.google.cloud
       google-cloud-dataflow
-      0.5.0
+      0.5.1
     
     
 
diff --git a/samples/pom.xml b/samples/pom.xml
index 05810f34..df3883ad 100644
--- a/samples/pom.xml
+++ b/samples/pom.xml
@@ -46,7 +46,7 @@
       
         org.sonatype.plugins
         nexus-staging-maven-plugin
-        1.6.12
+        1.6.13
         
           true
         
diff --git a/samples/snapshot/pom.xml b/samples/snapshot/pom.xml
index 1a6a9d4b..63cde645 100644
--- a/samples/snapshot/pom.xml
+++ b/samples/snapshot/pom.xml
@@ -28,7 +28,7 @@
     
       com.google.cloud
       google-cloud-dataflow
-      0.5.0
+      0.5.1
     
   
 
diff --git a/samples/snippets/pom.xml b/samples/snippets/pom.xml
index 3b9c5846..0651aa19 100644
--- a/samples/snippets/pom.xml
+++ b/samples/snippets/pom.xml
@@ -28,7 +28,7 @@
     
       com.google.cloud
       google-cloud-dataflow
-      0.5.0
+      0.5.1
     
 
     
diff --git a/versions.txt b/versions.txt
index 9e06bfd2..a6d3f64f 100644
--- a/versions.txt
+++ b/versions.txt
@@ -1,6 +1,6 @@
 # Format:
 # module:released-version:current-version
 
-google-cloud-dataflow:0.5.1:0.5.1
-grpc-google-cloud-dataflow-v1beta3:0.5.1:0.5.1
-proto-google-cloud-dataflow-v1beta3:0.5.1:0.5.1
+google-cloud-dataflow:0.6.0:0.6.0
+grpc-google-cloud-dataflow-v1beta3:0.6.0:0.6.0
+proto-google-cloud-dataflow-v1beta3:0.6.0:0.6.0