Skip to content

chore(deps): update dependency com.google.cloud:google-cloud-kms to v1.39.0 - #3235

Merged
stephaniewang526 merged 1 commit into
GoogleCloudPlatform:masterfrom
renovate-bot:renovate/com.google.cloud-google-cloud-kms-1.x
Jun 25, 2020
Merged

chore(deps): update dependency com.google.cloud:google-cloud-kms to v1.39.0#3235
stephaniewang526 merged 1 commit into
GoogleCloudPlatform:masterfrom
renovate-bot:renovate/com.google.cloud-google-cloud-kms-1.x

Conversation

@renovate-bot

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

PackageUpdateChange
com.google.cloud:google-cloud-kmsminor1.38.1 -> 1.39.0

Release Notes

googleapis/java-kms

v1.39.0

Compare Source

Features
  • deps: adopt flatten plugin and google-cloud-shared-dependencies (#​203) (4dbf4db)
Bug Fixes
Dependencies
  • update dependency com.google.api:api-common to v1.9.1 (#​175) (25969ce)
  • update dependency com.google.api:api-common to v1.9.2 (#​183) (4e6d75f)
  • update dependency com.google.api.grpc:proto-google-common-protos to v1.18.0 (#​164) (5cff5b7)
  • update dependency com.google.cloud:google-cloud-core to v1.93.5 (#​176) (a042993)
  • update dependency com.google.http-client:google-http-client-bom to v1.35.0 (#​159) (3f7d1da)
  • update dependency com.google.protobuf:protobuf-java to v3.12.0 (#​168) (4e9597f)
  • update dependency com.google.protobuf:protobuf-java to v3.12.2 (#​173) (c9855e4)
  • update dependency io.grpc:grpc-bom to v1.29.0 (#​152) (b351d28)
  • update dependency io.grpc:grpc-bom to v1.30.0 (#​188) (2d8865f)
  • update dependency org.threeten:threetenbp to v1.4.4 (#​158) (6b68afe)
Documentation
  • change relative URLs to absolute URLs to fix broken links. (#​184) (b7a6bcd)
1.38.1 (2020-04-20)
Dependencies
  • update dependency com.google.guava:guava-bom to v29 (#​135) (8e61429)

Renovate configuration

📅 Schedule: At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻️ Rebasing: Never, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by WhiteSource Renovate. View repository job log here.

@renovate-bot
renovate-bot requested a review from a teamJune 24, 2020 00:53
@forking-renovateforking-renovateBot added the automerge Merge the pull request once unit tests and other checks pass. label Jun 24, 2020
@trusted-contributions-gcftrusted-contributions-gcfBot added the kokoro:run Add this label to force Kokoro to re-run the tests. label Jun 24, 2020
@googlebotgooglebot added the cla: yes This human has signed the Contributor License Agreement. label Jun 24, 2020
@kokoro-teamkokoro-team removed the kokoro:run Add this label to force Kokoro to re-run the tests. label Jun 24, 2020
@gcf-merge-on-green

Copy link
Copy Markdown
Contributor

Your PR has attempted to merge for 3 hours. Please check that all required checks have passed, you have an automerge label, and that all your reviewers have approved the PR

@gcf-merge-on-green

Copy link
Copy Markdown
Contributor

Merge-on-green attempted to merge your PR for 6 hours, but it was not mergeable because either one of your required status checks failed, or one of your required reviews was not approved. Learn more about your required status checks here: https://help.github.com/en/github/administering-a-repository/enabling-required-status-checks. You can remove and reapply the label to re-run the bot.

@gcf-merge-on-greengcf-merge-on-greenBot removed the automerge Merge the pull request once unit tests and other checks pass. label Jun 24, 2020
@lesv

lesv commented Jun 24, 2020

Copy link
Copy Markdown
Contributor

Java 11

@chingor13@stephaniewang526@sethvargo PTAL - same problem as secrets manager

------------------------------------------------------------
- testing kms
------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[ERROR] /tmpfs/src/github/java-docs-samples/kms/src/main/java/kms/UpdateKeyRemoveLabels.java:[24,32] package com.google.protobuf.util does not exist
[ERROR] /tmpfs/src/github/java-docs-samples/kms/src/main/java/kms/UpdateKeyRemoveRotation.java:[24,32] package com.google.protobuf.util does not exist
[ERROR] /tmpfs/src/github/java-docs-samples/kms/src/main/java/kms/UpdateKeyUpdateLabels.java:[24,32] package com.google.protobuf.util does not exist
[ERROR] /tmpfs/src/github/java-docs-samples/kms/src/main/java/kms/EnableKeyVersion.java:[25,32] package com.google.protobuf.util does not exist
[ERROR] /tmpfs/src/github/java-docs-samples/kms/src/main/java/kms/DisableKeyVersion.java:[25,32] package com.google.protobuf.util does not exist
[ERROR] /tmpfs/src/github/java-docs-samples/kms/src/main/java/kms/UpdateKeyAddRotation.java:[29,32] package com.google.protobuf.util does not exist
[ERROR] /tmpfs/src/github/java-docs-samples/kms/src/main/java/kms/UpdateKeyRemoveLabels.java:[53,29] cannot find symbol
symbol: variable FieldMaskUtil
location: class kms.UpdateKeyRemoveLabels
[ERROR] /tmpfs/src/github/java-docs-samples/kms/src/main/java/kms/UpdateKeyRemoveRotation.java:[58,29] cannot find symbol
symbol: variable FieldMaskUtil
location: class kms.UpdateKeyRemoveRotation
[ERROR] /tmpfs/src/github/java-docs-samples/kms/src/main/java/kms/UpdateKeyUpdateLabels.java:[64,29] cannot find symbol
symbol: variable FieldMaskUtil
location: class kms.UpdateKeyUpdateLabels
[ERROR] /tmpfs/src/github/java-docs-samples/kms/src/main/java/kms/EnableKeyVersion.java:[62,29] cannot find symbol
symbol: variable FieldMaskUtil
location: class kms.EnableKeyVersion
[ERROR] /tmpfs/src/github/java-docs-samples/kms/src/main/java/kms/DisableKeyVersion.java:[62,29] cannot find symbol
symbol: variable FieldMaskUtil
location: class kms.DisableKeyVersion
[ERROR] /tmpfs/src/github/java-docs-samples/kms/src/main/java/kms/UpdateKeyAddRotation.java:[76,29] cannot find symbol
symbol: variable FieldMaskUtil
location: class kms.UpdateKeyAddRotation
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project kms-samples: Compilation failure: Compilation failure:
[ERROR] /tmpfs/src/github/java-docs-samples/kms/src/main/java/kms/UpdateKeyRemoveLabels.java:[24,32] package com.google.protobuf.util does not exist
[ERROR] /tmpfs/src/github/java-docs-samples/kms/src/main/java/kms/UpdateKeyRemoveRotation.java:[24,32] package com.google.protobuf.util does not exist
[ERROR] /tmpfs/src/github/java-docs-samples/kms/src/main/java/kms/UpdateKeyUpdateLabels.java:[24,32] package com.google.protobuf.util does not exist
[ERROR] /tmpfs/src/github/java-docs-samples/kms/src/main/java/kms/EnableKeyVersion.java:[25,32] package com.google.protobuf.util does not exist
[ERROR] /tmpfs/src/github/java-docs-samples/kms/src/main/java/kms/DisableKeyVersion.java:[25,32] package com.google.protobuf.util does not exist
[ERROR] /tmpfs/src/github/java-docs-samples/kms/src/main/java/kms/UpdateKeyAddRotation.java:[29,32] package com.google.protobuf.util does not exist
[ERROR] /tmpfs/src/github/java-docs-samples/kms/src/main/java/kms/UpdateKeyRemoveLabels.java:[53,29] cannot find symbol
[ERROR] symbol: variable FieldMaskUtil
[ERROR] location: class kms.UpdateKeyRemoveLabels
[ERROR] /tmpfs/src/github/java-docs-samples/kms/src/main/java/kms/UpdateKeyRemoveRotation.java:[58,29] cannot find symbol
[ERROR] symbol: variable FieldMaskUtil
[ERROR] location: class kms.UpdateKeyRemoveRotation
[ERROR] /tmpfs/src/github/java-docs-samples/kms/src/main/java/kms/UpdateKeyUpdateLabels.java:[64,29] cannot find symbol
[ERROR] symbol: variable FieldMaskUtil
[ERROR] location: class kms.UpdateKeyUpdateLabels
[ERROR] /tmpfs/src/github/java-docs-samples/kms/src/main/java/kms/EnableKeyVersion.java:[62,29] cannot find symbol
[ERROR] symbol: variable FieldMaskUtil
[ERROR] location: class kms.EnableKeyVersion
[ERROR] /tmpfs/src/github/java-docs-samples/kms/src/main/java/kms/DisableKeyVersion.java:[62,29] cannot find symbol
[ERROR] symbol: variable FieldMaskUtil
[ERROR] location: class kms.DisableKeyVersion
[ERROR] /tmpfs/src/github/java-docs-samples/kms/src/main/java/kms/UpdateKeyAddRotation.java:[76,29] cannot find symbol
[ERROR] symbol: variable FieldMaskUtil
[ERROR] location: class kms.UpdateKeyAddRotation
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
Testing failed: Maven returned a non-zero exit code.

@sethvargo

Copy link
Copy Markdown
Contributor

@lesv Is that class deprecated or removed?

1 similar comment
@sethvargo

Copy link
Copy Markdown
Contributor

@lesv Is that class deprecated or removed?

@lesvlesv added the kokoro:force-run Add this label to force Kokoro to re-run the tests. label Jun 24, 2020
@kokoro-teamkokoro-team removed the kokoro:force-run Add this label to force Kokoro to re-run the tests. label Jun 24, 2020
@stephaniewang526

Copy link
Copy Markdown
Contributor

@lesv Is that class deprecated or removed?

Upon checking java-kms code, FieldMaskUtil class has been removed from the client -- the samples need to be rewritten/removed.

@sethvargo

Copy link
Copy Markdown
Contributor

@stephaniewang526 that class is used everywhere across all the client libraries. Why was it removed? It's also the only reasonable way to build a field mask as far as I know.

@stephaniewang526

Copy link
Copy Markdown
Contributor

@sethvargo actually I'm checking and seeing that FieldMaskUtil is still in protobuf-java-util jar and java-kms is pulling that artifact in. let's re-run the tests again to see if it picks it up.

@stephaniewang526stephaniewang526 added the kokoro:force-run Add this label to force Kokoro to re-run the tests. label Jun 24, 2020
@kokoro-teamkokoro-team removed the kokoro:force-run Add this label to force Kokoro to re-run the tests. label Jun 24, 2020
@lesv

lesv commented Jun 24, 2020

Copy link
Copy Markdown
Contributor

This keeps failing and has been run 3 times now.

@sethvargo

Copy link
Copy Markdown
Contributor

Since this is affecting multiple packages, I'm relatively confident it's not unique to the java or secret manager samples, and is likely an indication of a larger, upstream breaking change.

@chingor13

Copy link
Copy Markdown
Member

This is happening because protobuf-java-utils was changed from a compile dependency to runtime dependency (it's not used at compile time by google-cloud-kms).

The flatten-maven-plugin likely has something to do with this (@stephaniewang526).

In any case, these sample are using protobuf-java-utils directly and thus should be explicitly declaring that dependency.

@sethvargo

Copy link
Copy Markdown
Contributor

In any case, these sample are using protobuf-java-utils directly and thus should be explicitly declaring that dependency.

Regardless, this is a breaking change and should be reverted.

@chingor13

Copy link
Copy Markdown
Member

It's not a breaking change as that class is not part of the google-cloud-kms library and is not necessary to run the library. Removing an unnecessary dependency is actually a bugfix. google-cloud-kms should not force applications to install libraries that are not necessary.

The reason it looks like a breaking change is that this sample is relying on a transitive dependency when it should be declared explicitly.

@sethvargo

Copy link
Copy Markdown
Contributor

At t0, it worked. At t1, it's broken. Nothing in this repository has changed between t0 and t1. That's definitionally a breaking change. I'm not an expert in the Java ecosystem, but what caused the dependency to be dropped?

@sethvargo

sethvargo commented Jun 25, 2020

Copy link
Copy Markdown
Contributor

As a user, previously I added the following to my pom.xml:

<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>google-cloud-kms</artifactId>
<version>1.38.1</version>
</dependency>

And I had access to the FieldMaskUtil class. Upon upgrading to 1.39.0 (a minor increase), I no longer have access to that class. This, to me, is a breaking change. All our customers now have to update their pom.xml files to add this additional dependency. As far as I know, this was not communicated broadly, and this feels very inappropriate in a minor version bump.

@lesvlesv added api: cloudkms Issues related to the Cloud Key Management Service API. priority: p1 Important issue which blocks shipping the next release. Will be fixed prior to next release. type: bug Error or flaw in code with unintended results or allowing sub-optimal usage patterns. labels Jun 25, 2020
@lesv

lesv commented Jun 25, 2020

Copy link
Copy Markdown
Contributor

@chingor13 If you remove something from the library, you should bump the major version.

@elharo

Copy link
Copy Markdown
Contributor

It doesn't seem anything was removed from the library. This sample was depending on transitive dependencies, which is always a bad idea. In google3 this isn't allowed at all, and blaze would fail the build. Maven isn't quite so strict, though there might be an enforcer rule that can check this.

@stephaniewang526

stephaniewang526 commented Jun 25, 2020

Copy link
Copy Markdown
Contributor

protobuf-java-util was brought in transitively through gax-grpc before, that's why samples did not have to declare directly.

[INFO] | +- com.google.api:gax-grpc:jar:1.56.0:compile
[INFO] | | +- com.google.auth:google-auth-library-credentials:jar:0.20.0:compile
[INFO] | | +- io.grpc:grpc-netty-shaded:jar:1.28.1:compile
[INFO] | | | \- io.grpc:grpc-core:jar:1.28.1:compile (version selected from constraint [1.28.1,1.28.1])
[INFO] | | | +- com.google.code.gson:gson:jar:2.8.6:compile
[INFO] | | | +- com.google.android:annotations:jar:4.1.1.4:compile
[INFO] | | | \- io.perfmark:perfmark-api:jar:0.19.0:compile
[INFO] | | \- io.grpc:grpc-alts:jar:1.28.1:compile
[INFO] | | +- io.grpc:grpc-grpclb:jar:1.28.1:compile
[INFO] | | | \- com.google.protobuf:protobuf-java-util:jar:3.11.0:compile

Since samples/ is using it, it should directly declare it as compile scope dep.

No breaking change was made on the client library side -- this exposes a problem on the consuming side.

@stephaniewang526stephaniewang526 added the kokoro:force-run Add this label to force Kokoro to re-run the tests. label Jun 25, 2020
@kokoro-teamkokoro-team removed the kokoro:force-run Add this label to force Kokoro to re-run the tests. label Jun 25, 2020
@stephaniewang526
stephaniewang526 merged commit fbde9a7 into GoogleCloudPlatform:masterJun 25, 2020
@renovate-bot
renovate-bot deleted the renovate/com.google.cloud-google-cloud-kms-1.x branch June 25, 2020 18:40
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api: cloudkmsIssues related to the Cloud Key Management Service API.cla: yesThis human has signed the Contributor License Agreement.priority: p1Important issue which blocks shipping the next release. Will be fixed prior to next release.type: bugError or flaw in code with unintended results or allowing sub-optimal usage patterns.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants

@renovate-bot@lesv@sethvargo@stephaniewang526@chingor13@elharo@daniel-sanche@googlebot@averikitsch@kokoro-team