Skip to content

PubSub client not working with emulator #31791

@yassenb

Description

@yassenb

Environment details

  • OS: Linux
  • Ruby version: 3.4
  • Gem name and version: google-cloud-pubsub 3.0.2

Steps to reproduce

See the code samples. Everything was working fine with the PubSub emulator in version 2.x. Version 3.x has broken it and trying the following snippet results in a timeout.

Code example

# Code for 2.23 that works
pubsub = Google::Cloud::PubSub.new(emulator_host: "localhost:8681", project_id: ENV.fetch("GOOGLE_CLOUD_PROJECT_ID"))
puts pubsub.topics.map { it.name }

# Code for 3.0.2 that doesn't work
pubsub = Google::Cloud::PubSub.new(emulator_host: "localhost:8681", project_id: ENV.fetch("GOOGLE_CLOUD_PROJECT_ID"))
puts pubsub.topic_admin.list_topics(project: ENV.fetch("GOOGLE_CLOUD_PROJECT_ID"))

Full backtrace

/home/yassen/.asdf/installs/ruby/3.4.4/lib/ruby/gems/3.4.0/gems/google-cloud-pubsub-v1-1.14.0/lib/google/cloud/pubsub/v1/topic_admin/client.rb:738:in 'Google::Cloud::PubSub::V1::TopicAdmin::Client#list_topics': 4:4:Deadline Exceeded. debug_error_string:{DEADLINE_EXCEEDED:Deadline Exceeded {grpc_status:4}} (Google::Cloud::DeadlineExceededError)
	from ./bin/local_subscribe.rb:24:in '<main>'
/home/yassen/.asdf/installs/ruby/3.4.4/lib/ruby/gems/3.4.0/gems/gapic-common-1.2.0/lib/gapic/grpc/service_stub/rpc_call.rb:138:in 'Gapic::ServiceStub::RpcCall#call': 4:4:Deadline Exceeded. debug_error_string:{DEADLINE_EXCEEDED:Deadline Exceeded {grpc_status:4}} (Gapic::GRPC::DeadlineExceededError)
	from /home/yassen/.asdf/installs/ruby/3.4.4/lib/ruby/gems/3.4.0/gems/gapic-common-1.2.0/lib/gapic/grpc/service_stub.rb:217:in 'Gapic::ServiceStub#call_rpc'
	from /home/yassen/.asdf/installs/ruby/3.4.4/lib/ruby/gems/3.4.0/gems/google-cloud-pubsub-v1-1.14.0/lib/google/cloud/pubsub/v1/topic_admin/client.rb:732:in 'Google::Cloud::PubSub::V1::TopicAdmin::Client#list_topics'
	from ./bin/local_subscribe.rb:24:in '<main>'
/home/yassen/.asdf/installs/ruby/3.4.4/lib/ruby/gems/3.4.0/gems/grpc-1.75.0-x86_64-linux-gnu/src/ruby/lib/grpc/generic/active_call.rb:29:in 'Struct::BatchResult#check_status': 4:Deadline Exceeded. debug_error_string:{DEADLINE_EXCEEDED:Deadline Exceeded {grpc_status:4}} (GRPC::DeadlineExceeded)
	from /home/yassen/.asdf/installs/ruby/3.4.4/lib/ruby/gems/3.4.0/gems/grpc-1.75.0-x86_64-linux-gnu/src/ruby/lib/grpc/generic/active_call.rb:189:in 'GRPC::ActiveCall#attach_status_results_and_complete_call'
	from /home/yassen/.asdf/installs/ruby/3.4.4/lib/ruby/gems/3.4.0/gems/grpc-1.75.0-x86_64-linux-gnu/src/ruby/lib/grpc/generic/active_call.rb:383:in 'GRPC::ActiveCall#request_response'
	from /home/yassen/.asdf/installs/ruby/3.4.4/lib/ruby/gems/3.4.0/gems/grpc-1.75.0-x86_64-linux-gnu/src/ruby/lib/grpc/generic/client_stub.rb:174:in 'block (2 levels) in request_response'
	from /home/yassen/.asdf/installs/ruby/3.4.4/lib/ruby/gems/3.4.0/gems/grpc-1.75.0-x86_64-linux-gnu/src/ruby/lib/grpc/generic/interceptors.rb:170:in 'GRPC::InterceptionContext#intercept!'
	from /home/yassen/.asdf/installs/ruby/3.4.4/lib/ruby/gems/3.4.0/gems/grpc-1.75.0-x86_64-linux-gnu/src/ruby/lib/grpc/generic/client_stub.rb:173:in 'block in request_response'
	from /home/yassen/.asdf/installs/ruby/3.4.4/lib/ruby/gems/3.4.0/gems/gapic-common-1.2.0/lib/gapic/grpc/service_stub/rpc_call.rb:130:in 'Gapic::ServiceStub::RpcCall#call'
	from /home/yassen/.asdf/installs/ruby/3.4.4/lib/ruby/gems/3.4.0/gems/gapic-common-1.2.0/lib/gapic/grpc/service_stub.rb:217:in 'Gapic::ServiceStub#call_rpc'
	from /home/yassen/.asdf/installs/ruby/3.4.4/lib/ruby/gems/3.4.0/gems/google-cloud-pubsub-v1-1.14.0/lib/google/cloud/pubsub/v1/topic_admin/client.rb:732:in 'Google::Cloud::PubSub::V1::TopicAdmin::Client#list_topics'
	from ./bin/local_subscribe.rb:24:in '<main>'

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions