kazoo-ruby 0.5.6 → 0.5.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 75139fef3e6343c067f6a34f6a5e5c520be5693c
4
- data.tar.gz: dff9de16690c46259bdec390215dfa5bffcff5dc
3
+ metadata.gz: cddff6bb622ee9d1db1980bda5a00eef2c6f1359
4
+ data.tar.gz: 5ac18d330d8f2da8136dab9b583e60fb40dda1e0
5
5
  SHA512:
6
- metadata.gz: 12b210d80021ba4fb9beb09fb775f82a0d35cc685365b2b9f0c1ee9222ba0a8f8c59ad0c4e3a3b5c96f5f9eb1a5cdb336977cd375db97f3b7f837e1670bd8ac5
7
- data.tar.gz: 4991813165f7b3938026ca02668239ea87e724ceae01dcd5d056cfab14d2c36434cbf1ece99c579f90c9e7019ce10b077bc60aad9a624adb9079e204d448e4fe
6
+ metadata.gz: e4656dd463c13c37dc92da902e77c7ed275d3a3aa1a9a934c03c54a0cd176ea2a4e0061fad18fc2552ad8296fb374d1dce385e6cced19a80acf2a24035948300
7
+ data.tar.gz: 4ff31ca4aa664b76fe5af430e2a0a041d6d74f13b14251004c4511bdb945349cc49361c66a22e7d1c74499afa6d31459a5a61f7cf7366ab650a5b9ab7ad99f97
@@ -98,7 +98,12 @@ module Kazoo
98
98
  json = JSON.parse(json_payload)
99
99
  raise Kazoo::VersionNotSupported unless json.fetch('version') == 1
100
100
 
101
- @leader = cluster.brokers.fetch(json.fetch('leader'))
101
+ begin
102
+ @leader = cluster.brokers.fetch(json.fetch('leader'))
103
+ rescue KeyError
104
+ raise Kazoo::Error, "Topic #{topic.name}:#{id} has unknown leader! Brokers: '#{cluster.brokers.keys.join(',')}'; 'Payload: '#{json_payload.inspect}'"
105
+ end
106
+
102
107
  @isr = json.fetch('isr').map do |r|
103
108
  begin
104
109
  cluster.brokers.fetch(r)
@@ -1,3 +1,3 @@
1
1
  module Kazoo
2
- VERSION = "0.5.6"
2
+ VERSION = "0.5.7"
3
3
  end
@@ -55,4 +55,15 @@ class PartitionTest < Minitest::Test
55
55
 
56
56
  assert_raises(Kazoo::Error) { partition.under_replicated? }
57
57
  end
58
+
59
+ def test_raises_unknown_leader
60
+ partition = @cluster.topics['test.1'].partitions[0]
61
+ partition.unstub(:leader)
62
+ partition.unstub(:isr)
63
+
64
+ json_payload = '{"controller_epoch":90,"leader":-1,"version":1,"leader_epoch":135,"isr":[2,1,0]}'
65
+ @cluster.zk.expects(:get).with(path: "/brokers/topics/test.1/partitions/0/state").returns(data: json_payload, rc: 0)
66
+
67
+ assert_raises(Kazoo::Error) { partition.under_replicated? }
68
+ end
58
69
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kazoo-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.6
4
+ version: 0.5.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Willem van Bergen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-07-19 00:00:00.000000000 Z
11
+ date: 2019-02-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor