Skip to content

( Ruby Client ) gRPC Proxy - GRPC::Cancelled: 1:unknown cause  #9751

@davissp14

Description

@davissp14

There was an issue that cropped up today that's preventing users from using LeaseKeepAliveRequest when connecting to through gRPC proxy using the Ruby etcdv3 client.
https://github.com/davissp14/etcdv3-ruby

Details
Etcd Version: 3.3.3

Setup: Single local Etcd node with single local grpc proxy.

Steps to reproduce:

  1. Start up a local Etcd Node and gRPC Proxy

  2. Install etcdv3 gem

gem install etcdv3
  1. irb

First path to error:

require 'etcdv3'

grpc_port = 23790

conn = Etcdv3.new(endpoints: "http://127.0.0.1:#{grpc_port}")
lease_id = conn.lease_grant(1000)["ID"]
conn.lease_keep_alive_once(lease_id)

GRPC::Cancelled: 1:unknown cause
	from /Users/shaun/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/grpc-1.12.0-universal-darwin/src/ruby/lib/grpc/generic/active_call.rb:26:in `check_status'
	from /Users/shaun/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/grpc-1.12.0-universal-darwin/src/ruby/lib/grpc/generic/bidi_call.rb:209:in `block in read_loop'
	from /Users/shaun/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/grpc-1.12.0-universal-darwin/src/ruby/lib/grpc/generic/bidi_call.rb:195:in `loop'
	from /Users/shaun/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/grpc-1.12.0-universal-darwin/src/ruby/lib/grpc/generic/bidi_call.rb:195:in `read_loop'
	from /Users/shaun/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/etcdv3-0.8.3/lib/etcdv3/lease.rb:26:in `each'
	from /Users/shaun/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/etcdv3-0.8.3/lib/etcdv3/lease.rb:26:in `lease_keep_alive_once'
	from /Users/shaun/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/etcdv3-0.8.3/lib/etcdv3/connection.rb:23:in `call'
	from /Users/shaun/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/etcdv3-0.8.3/lib/etcdv3/connection_wrapper.rb:14:in `handle'
	from /Users/shaun/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/etcdv3-0.8.3/lib/etcdv3.rb:121:in `lease_keep_alive_once'
	from (irb):5
	from /Users/shaun/.rbenv/versions/2.2.4/bin/irb:11:in `<main>'

Second path to error.

require 'etcdv3'

grpc_port = 23790
 
conn = Etcdv3.new(endpoints: "http://127.0.0.1:#{grpc_port}")
lease_id = conn.lease_grant(1000)["ID"]

stub = Etcdserverpb::Lease::Stub.new("127.0.0.1:#{grpc_port}", :this_channel_is_insecure)
request = Etcdserverpb::LeaseKeepAliveRequest.new(ID: lease_id)
stub.lease_keep_alive([request], metadata: {}).each do |resp| 
 return resp
end 
 
GRPC::Cancelled: 1:unknown cause
	from /Users/shaun/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/grpc-1.12.0-universal-darwin/src/ruby/lib/grpc/generic/active_call.rb:26:in `check_status'
	from /Users/shaun/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/grpc-1.12.0-universal-darwin/src/ruby/lib/grpc/generic/bidi_call.rb:209:in `block in read_loop'
	from /Users/shaun/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/grpc-1.12.0-universal-darwin/src/ruby/lib/grpc/generic/bidi_call.rb:195:in `loop'
	from /Users/shaun/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/grpc-1.12.0-universal-darwin/src/ruby/lib/grpc/generic/bidi_call.rb:195:in `read_loop'
	from (irb):80:in `each'
	from (irb):80
	from /Users/shaun/.rbenv/versions/2.2.4/bin/irb:11:in `<main>'

More information can be found here: davissp14/etcdv3-ruby#117

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions