kazoo-ruby 0.5.6 → 0.5.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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