Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Postgres-based internal API servers will not start due to client mismatch #1410

Closed
Tracked by #1299
SanjayVas opened this issue Jan 10, 2024 · 1 comment · Fixed by #1411
Closed
Tracked by #1299

Postgres-based internal API servers will not start due to client mismatch #1410

SanjayVas opened this issue Jan 10, 2024 · 1 comment · Fixed by #1411
Labels
bug Something isn't working

Comments

@SanjayVas
Copy link
Member

SanjayVas commented Jan 10, 2024

Describe the bug
Duchy servers which use Google Cloud Storage will not start.

The assumption is that a transitive Maven dep was updated, as the project does not currently pin Maven deps.

Component(s) affected
Duchy

Version
HEAD (d4b9a65)

Environment
halo-cmm-dev on GKE

Additional context

Exception in thread "main" java.lang.ExceptionInInitializerError
	at com.google.api.services.storage.Storage$Builder.build(Storage.java:10534)
	at com.google.cloud.storage.spi.v1.HttpStorageRpc.<init>(HttpStorageRpc.java:127)
	at com.google.cloud.storage.StorageOptions$DefaultStorageRpcFactory.create(StorageOptions.java:61)
	at com.google.cloud.storage.StorageOptions$DefaultStorageRpcFactory.create(StorageOptions.java:55)
	at com.google.cloud.ServiceOptions.getRpc(ServiceOptions.java:564)
	at com.google.cloud.storage.StorageOptions.getStorageRpcV1(StorageOptions.java:168)
	at com.google.cloud.storage.StorageImpl.<init>(StorageImpl.java:117)
	at com.google.cloud.storage.StorageOptions$DefaultStorageFactory.create(StorageOptions.java:51)
	at com.google.cloud.storage.StorageOptions$DefaultStorageFactory.create(StorageOptions.java:45)
	at com.google.cloud.ServiceOptions.getService(ServiceOptions.java:544)
	at org.wfanet.measurement.gcloud.gcs.GcsFromFlags.getStorage(GcsFromFlags.kt:29)
	at org.wfanet.measurement.gcloud.gcs.GcsStorageClient$Companion.fromFlags(GcsStorageClient.kt:103)
	at org.wfanet.measurement.duchy.deploy.gcloud.server.GcsSpannerComputationsServer$run$1$1.invokeSuspend(GcsSpannerComputationsServer.kt:52)
	at org.wfanet.measurement.duchy.deploy.gcloud.server.GcsSpannerComputationsServer$run$1$1.invoke(GcsSpannerComputationsServer.kt)
	at org.wfanet.measurement.duchy.deploy.gcloud.server.GcsSpannerComputationsServer$run$1$1.invoke(GcsSpannerComputationsServer.kt)
	at org.wfanet.measurement.gcloud.spanner.SpannerDatabaseConnector.usingSpanner(SpannerDatabaseConnector.kt:102)
	at org.wfanet.measurement.gcloud.spanner.SpannerDatabaseConnector$usingSpanner$1.invokeSuspend(SpannerDatabaseConnector.kt)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.internal.ScopeCoroutine.afterResume(Scopes.kt:32)
	at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:102)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
	at kotlinx.coroutines.internal.ScopeCoroutine.afterResume(Scopes.kt:32)
	at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:102)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
	at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:280)
	at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:85)
	at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:59)
	at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source)
	at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:38)
	at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source)
	at org.wfanet.measurement.duchy.deploy.gcloud.server.GcsSpannerComputationsServer.run(GcsSpannerComputationsServer.kt:49)
	at picocli.CommandLine.executeUserObject(CommandLine.java:1919)
	at picocli.CommandLine.access$1100(CommandLine.java:145)
	at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2332)
	at picocli.CommandLine$RunLast.handle(CommandLine.java:2326)
	at picocli.CommandLine$RunLast.handle(CommandLine.java:2291)
	at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2159)
	at picocli.CommandLine.execute(CommandLine.java:2058)
	at org.wfanet.measurement.common.CommandLinesKt.commandLineMain(CommandLines.kt:47)
	at org.wfanet.measurement.common.CommandLinesKt.commandLineMain$default(CommandLines.kt:42)
	at org.wfanet.measurement.duchy.deploy.gcloud.server.GcsSpannerComputationsServerKt.main(GcsSpannerComputationsServer.kt:71)
Caused by: java.lang.IllegalStateException: You are currently running with version 2.2.0 of google-api-client. You need at least version 1.31.1 of google-api-client to run version 1.32.1 of the Cloud Storage JSON API library.
	at com.google.common.base.Preconditions.checkState(Preconditions.java:534)
	at com.google.api.client.util.Preconditions.checkState(Preconditions.java:113)
	at com.google.api.services.storage.Storage.<clinit>(Storage.java:44)
	... 42 more
@SanjayVas SanjayVas added the bug Something isn't working label Jan 10, 2024
@SanjayVas SanjayVas changed the title Spanner servers will not start due to client mismatch Spanner Duchy internal servers will not start due to client mismatch Jan 10, 2024
@SanjayVas SanjayVas changed the title Spanner Duchy internal servers will not start due to client mismatch Duchy storage servers will not start due to client mismatch Jan 10, 2024
@SanjayVas
Copy link
Member Author

Looks like this affects Postgres on gcloud as well.

You are currently running with version 2.2.0 of google-api-client. You need at least version 1.31.1 of google-api-client to run version 1.32.1 of the Cloud SQL Admin API library.

@SanjayVas SanjayVas mentioned this issue Jan 11, 2024
15 tasks
SanjayVas added a commit that referenced this issue Jan 11, 2024
…1411)

The version compatibility should ideally be handled by Maven artifact resolution (meaning google-api-services-storage < 2 should require google-api-client < 2). Alas it is not, so this works around the issue by specifying the version explicitly.

Closes #1410
@SanjayVas SanjayVas changed the title Duchy storage servers will not start due to client mismatch Postgres-based internal API servers will not start due to client mismatch Jan 26, 2024
ple13 pushed a commit that referenced this issue Aug 16, 2024
…1411)

The version compatibility should ideally be handled by Maven artifact resolution (meaning google-api-services-storage < 2 should require google-api-client < 2). Alas it is not, so this works around the issue by specifying the version explicitly.

Closes #1410
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
1 participant