Title: Support Pub/Sub Emulator · Issue #1973 · googleapis/google-cloud-java · GitHub
Open Graph Title: Support Pub/Sub Emulator · Issue #1973 · googleapis/google-cloud-java
X Title: Support Pub/Sub Emulator · Issue #1973 · googleapis/google-cloud-java
Description: It seems right now google-cloud-pubsub doesn't support gcloud emulator. At least I'm not able to configure it for Pub/Sub even though I managed to use an emulator with google-cloud-datastore. I think it is related to googleapis/google-cl...
Open Graph Description: It seems right now google-cloud-pubsub doesn't support gcloud emulator. At least I'm not able to configure it for Pub/Sub even though I managed to use an emulator with google-cloud-datastore. I thi...
X Description: It seems right now google-cloud-pubsub doesn't support gcloud emulator. At least I'm not able to configure it for Pub/Sub even though I managed to use an emulator with google-cloud-datastor...
Opengraph URL: https://github.com/googleapis/google-cloud-java/issues/1973
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Support Pub/Sub Emulator","articleBody":"It seems right now `google-cloud-pubsub` doesn't support gcloud emulator. At least I'm not able to configure it for Pub/Sub even though I managed to use an emulator with `google-cloud-datastore`. I think it is related to https://github.com/GoogleCloudPlatform/google-cloud-datastore/issues/114.\r\n\r\nAnyways, when I'm trying to create a subscriber using a channel provider with no credentials. Here are some snippets in Kotlin of how I create a `SubscriptionAdminClient`:\r\n\r\n```\r\nval channelProvider = InstantiatingChannelProvider.newBuilder()\r\n .setEndpoint(\"localhost:$port\")\r\n .setCredentialsProvider(FixedCredentialsProvider.create(NoCredentials.getInstance()))\r\n .build()\r\n```\r\n\r\n```\r\nprotected fun getSubscriptionAdminClient(): SubscriptionAdminClient {\r\n val adminSettings = SubscriptionAdminSettings.defaultBuilder()\r\n .setChannelProvider(channelProvider)\r\n .build()\r\n return SubscriptionAdminClient.create(adminSettings)\r\n}\r\n```\r\n\r\nWhen I'm trying to call `com.google.cloud.pubsub.spi.v1.SubscriptionAdminClient#createSubscription` I'm getting:\r\n\r\n```\r\ncom.google.api.gax.grpc.ApiException: io.grpc.StatusRuntimeException: UNKNOWN\r\n\tat com.google.api.gax.grpc.ExceptionTransformingCallable$ExceptionTransformingFuture.onFailure(ExceptionTransformingCallable.java:109)\r\n\tat com.google.api.gax.core.ApiFutures$1.onFailure(ApiFutures.java:53)\r\n\tat com.google.common.util.concurrent.Futures$4.run(Futures.java:1126)\r\n\tat com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399)\r\n\tat com.google.common.util.concurrent.AbstractFuture.executeListener(AbstractFuture.java:902)\r\n\tat com.google.common.util.concurrent.AbstractFuture.addListener(AbstractFuture.java:636)\r\n\tat com.google.common.util.concurrent.ForwardingListenableFuture.addListener(ForwardingListenableFuture.java:45)\r\n\tat com.google.api.gax.core.internal.ApiFutureToListenableFuture.addListener(ApiFutureToListenableFuture.java:53)\r\n\tat com.google.common.util.concurrent.Futures.addCallback(Futures.java:1138)\r\n\tat com.google.common.util.concurrent.Futures.addCallback(Futures.java:1076)\r\n\tat com.google.api.gax.core.ApiFutures.addCallback(ApiFutures.java:48)\r\n\tat com.google.api.gax.grpc.ExceptionTransformingCallable.futureCall(ExceptionTransformingCallable.java:65)\r\n\tat com.google.api.gax.grpc.RetryingCallable$GrpcRetryCallable.call(RetryingCallable.java:139)\r\n\tat com.google.api.gax.grpc.RetryingCallable.futureCall(RetryingCallable.java:84)\r\n\tat com.google.api.gax.grpc.UnaryCallable.futureCall(UnaryCallable.java:219)\r\n\tat com.google.api.gax.grpc.UnaryCallable.futureCall(UnaryCallable.java:230)\r\n\tat com.google.api.gax.grpc.UnaryCallable.call(UnaryCallable.java:258)\r\n\tat com.google.cloud.pubsub.spi.v1.SubscriptionAdminClient.createSubscription(SubscriptionAdminClient.java:339)\r\n\tat com.google.cloud.pubsub.spi.v1.SubscriptionAdminClient.createSubscription(SubscriptionAdminClient.java:307)\r\n\tat com.fkorotkov.gcloud.pubsub.PubSubImpl.registerSubscriber(PubSubImpl.kt:72)\r\nCaused by: io.grpc.StatusRuntimeException: UNKNOWN\r\n\tat io.grpc.Status.asRuntimeException(Status.java:540)\r\n\tat io.grpc.stub.ClientCalls$UnaryStreamToFuture.onClose(ClientCalls.java:439)\r\n\tat io.grpc.ClientInterceptors$CheckedForwardingClientCall.start(ClientInterceptors.java:202)\r\n\tat io.grpc.ForwardingClientCall.start(ForwardingClientCall.java:47)\r\n\tat com.google.api.gax.grpc.HeaderInterceptor$1.start(HeaderInterceptor.java:62)\r\n\tat io.grpc.stub.ClientCalls.startCall(ClientCalls.java:270)\r\n\tat io.grpc.stub.ClientCalls.asyncUnaryRequestCall(ClientCalls.java:249)\r\n\tat io.grpc.stub.ClientCalls.futureUnaryCall(ClientCalls.java:186)\r\n\tat com.google.api.gax.grpc.DirectCallable.futureCall(DirectCallable.java:59)\r\n\tat com.google.api.gax.grpc.ExceptionTransformingCallable.futureCall(ExceptionTransformingCallable.java:62)\r\n\t... 55 more\r\nCaused by: java.lang.IllegalStateException: OAuth2Credentials instance does not support refreshing the access token. An instance with a new access token should be used, or a derived type that supports refreshing.\r\n\tat com.google.auth.oauth2.OAuth2Credentials.refreshAccessToken(OAuth2Credentials.java:182)\r\n\tat com.google.auth.oauth2.OAuth2Credentials.refresh(OAuth2Credentials.java:149)\r\n\tat com.google.auth.oauth2.OAuth2Credentials.getRequestMetadata(OAuth2Credentials.java:135)\r\n\tat io.grpc.auth.ClientAuthInterceptor.getRequestMetadata(ClientAuthInterceptor.java:148)\r\n\tat io.grpc.auth.ClientAuthInterceptor.access$100(ClientAuthInterceptor.java:62)\r\n\tat io.grpc.auth.ClientAuthInterceptor$1.checkedStart(ClientAuthInterceptor.java:94)\r\n\tat io.grpc.ClientInterceptors$CheckedForwardingClientCall.start(ClientInterceptors.java:194)\r\n\t... 62 more\r\n```\r\n\r\nAs I mentioned above I'm able to use Datastore emulator when I run it with `--no-legacy` flag and by creating a Datastore service like this:\r\n\r\n```\r\nDatastoreOptions.newBuilder()\r\n .setProjectId(\"unit-testing\")\r\n .setHost(\"localhost:$port\")\r\n .setCredentials(NoCredentials.getInstance())\r\n .build()\r\n .getService()\r\n```\r\n\r\nI'm using the latest available version of the libraries at the moment:\r\n\r\n```\r\n{\r\n \"group\": \"com.google.cloud\",\r\n \"name\": \"google-cloud-datastore\",\r\n \"version\": \"0.13.0-beta\"\r\n},\r\n{\r\n \"group\": \"com.google.cloud\",\r\n \"name\": \"google-cloud-pubsub\",\r\n \"version\": \"0.13.0-alpha\"\r\n}\r\n```","author":{"url":"https://github.com/fkorotkov","@type":"Person","name":"fkorotkov"},"datePublished":"2017-04-22T17:22:05.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":26},"url":"https://github.com/1973/google-cloud-java/issues/1973"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:fe8e3fff-6147-9742-a86e-acf4a84d24d8 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | D410:1E53DB:E8B778:EE18C1:6A4DC4D6 |
| html-safe-nonce | e2400714dfd25005c8add341230962d5564620bb077a87f8d4bee6648ece223d |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJENDEwOjFFNTNEQjpFOEI3Nzg6RUUxOEMxOjZBNERDNEQ2IiwidmlzaXRvcl9pZCI6Ijg0ODg1MTY0ODMwNTEwMTMzMzQiLCJyZWdpb25fZWRnZSI6InNlYSIsInJlZ2lvbl9yZW5kZXIiOiJzZWEifQ== |
| visitor-hmac | d15aa8606708ec02f8ccb6b4162673f873f9ca5f21ae7f4a189f6d04679e286d |
| hovercard-subject-tag | issue:223579277 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/googleapis/google-cloud-java/1973/issue_layout |
| twitter:image | https://opengraph.githubassets.com/4706992419ee75b9ade8dc62340d9de6485d6581d4e0fd5782289d9654c6cf83/googleapis/google-cloud-java/issues/1973 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/4706992419ee75b9ade8dc62340d9de6485d6581d4e0fd5782289d9654c6cf83/googleapis/google-cloud-java/issues/1973 |
| og:image:alt | It seems right now google-cloud-pubsub doesn't support gcloud emulator. At least I'm not able to configure it for Pub/Sub even though I managed to use an emulator with google-cloud-datastore. I thi... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | fkorotkov |
| hostname | github.com |
| expected-hostname | github.com |
| None | 06b8a6144231bf3a234f1c2e9993861e07ce98a905912b114aa386c2d7e84b33 |
| turbo-cache-control | no-preview |
| go-import | github.com/googleapis/google-cloud-java git https://github.com/googleapis/google-cloud-java.git |
| octolytics-dimension-user_id | 16785467 |
| octolytics-dimension-user_login | googleapis |
| octolytics-dimension-repository_id | 26181278 |
| octolytics-dimension-repository_nwo | googleapis/google-cloud-java |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 26181278 |
| octolytics-dimension-repository_network_root_nwo | googleapis/google-cloud-java |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 1d344bdb7547fe6bca17a59bb2b8aac3dc9532a0 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width