Skip to content

Commit a617b31

Browse files
authored
Merge pull request #545 from sparrovv/only-disconnect-when-connection-is-opn
Don't fail on retry when the cluster is secured
2 parents 5334cd5 + d451a9a commit a617b31

File tree

2 files changed

+27
-2
lines changed

2 files changed

+27
-2
lines changed

Diff for: lib/kafka/broker.rb

+7-2
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,17 @@ def address_match?(host, port)
1919

2020
# @return [String]
2121
def to_s
22-
"#{connection} (node_id=#{@node_id.inspect})"
22+
"#{@host}:#{@port} (node_id=#{@node_id.inspect})"
2323
end
2424

2525
# @return [nil]
2626
def disconnect
27-
connection.close
27+
connection.close if connected?
28+
end
29+
30+
# @return [Boolean]
31+
def connected?
32+
!@connection.nil?
2833
end
2934

3035
# Fetches cluster metadata from the broker.

Diff for: spec/broker_spec.rb

+20
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,9 @@ def mock_response(response)
3131
def send_request(request)
3232
@mocked_response
3333
end
34+
35+
def close
36+
end
3437
end
3538

3639
describe "#address_match?" do
@@ -112,4 +115,21 @@ def send_request(request)
112115
expect(actual_response.topics).to eq []
113116
end
114117
end
118+
119+
describe "#disconnect" do
120+
it "doesn't close a connection if it's not connected yet " do
121+
expect(connection).not_to receive(:close)
122+
broker.disconnect
123+
end
124+
125+
it "closes a connection if the connection is present" do
126+
expect(connection).to receive(:close)
127+
128+
broker.fetch_messages(
129+
max_wait_time: 0, min_bytes: 0, max_bytes: 10 * 1024, topics: {}
130+
)
131+
132+
broker.disconnect
133+
end
134+
end
115135
end

0 commit comments

Comments
 (0)