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:
-
Start up a local Etcd Node and gRPC Proxy
-
Install etcdv3 gem
- 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
There was an issue that cropped up today that's preventing users from using
LeaseKeepAliveRequestwhen 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:
Start up a local Etcd Node and gRPC Proxy
Install etcdv3 gem
First path to error:
Second path to error.
More information can be found here: davissp14/etcdv3-ruby#117