karafka-rdkafka 0.13.4 → 0.13.5
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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +3 -0
- data/lib/rdkafka/producer/delivery_handle.rb +16 -1
- data/lib/rdkafka/producer/delivery_report.rb +3 -2
- data/lib/rdkafka/version.rb +1 -1
- data/spec/rdkafka/producer/delivery_handle_spec.rb +15 -0
- data/spec/rdkafka/producer_spec.rb +16 -0
- data.tar.gz.sig +0 -0
- metadata +3 -3
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 460d2befd6142375c9e19c1874c2c44e749e48d91119395a0e3a2dcee37ddf67
|
4
|
+
data.tar.gz: ca6a6f51754841d6b8bce3cd63d644242e28231c3244969264df0f00061ceae6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '09f5ee7ad4eeaed20631d12810948defc1812bce1962bdf018fc792db6fb59b82431fdc69bcea76968edd7a40b1c4537d01900d1eb084190b607c9682084517e'
|
7
|
+
data.tar.gz: 5d525cb93564d1bedde6d4bd6f7022bf064610cab1a8cb6ad676c0fe2097946a160a87f6e3227c73b3bbd7804802130c56a17fef28cb3c06db9d796f62369714
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/CHANGELOG.md
CHANGED
@@ -18,7 +18,22 @@ module Rdkafka
|
|
18
18
|
|
19
19
|
# @return [DeliveryReport] a report on the delivery of the message
|
20
20
|
def create_result
|
21
|
-
|
21
|
+
if self[:response] == 0
|
22
|
+
DeliveryReport.new(
|
23
|
+
self[:partition],
|
24
|
+
self[:offset],
|
25
|
+
self[:topic_name].read_string
|
26
|
+
)
|
27
|
+
else
|
28
|
+
DeliveryReport.new(
|
29
|
+
self[:partition],
|
30
|
+
self[:offset],
|
31
|
+
# For part of errors, we will not get a topic name reference and in cases like this
|
32
|
+
# we should not return it
|
33
|
+
self[:topic_name].null? ? nil : self[:topic_name].read_string,
|
34
|
+
RdkafkaError.new(self[:response])
|
35
|
+
)
|
36
|
+
end
|
22
37
|
end
|
23
38
|
end
|
24
39
|
end
|
@@ -12,8 +12,9 @@ module Rdkafka
|
|
12
12
|
# @return [Integer]
|
13
13
|
attr_reader :offset
|
14
14
|
|
15
|
-
# The name of the topic this message was produced to
|
16
|
-
#
|
15
|
+
# The name of the topic this message was produced to or nil in case delivery failed and we
|
16
|
+
# we not able to get the topic reference
|
17
|
+
# @return [String, nil]
|
17
18
|
attr_reader :topic_name
|
18
19
|
|
19
20
|
# Error in case happen during produce.
|
data/lib/rdkafka/version.rb
CHANGED
@@ -44,4 +44,19 @@ describe Rdkafka::Producer::DeliveryHandle do
|
|
44
44
|
end
|
45
45
|
end
|
46
46
|
end
|
47
|
+
|
48
|
+
describe '#create_result' do
|
49
|
+
let(:pending_handle) { false }
|
50
|
+
let(:report) { subject.create_result }
|
51
|
+
|
52
|
+
context 'when response is 0' do
|
53
|
+
it { expect(report.error).to eq(nil) }
|
54
|
+
end
|
55
|
+
|
56
|
+
context 'when response is not 0' do
|
57
|
+
let(:response) { 1 }
|
58
|
+
|
59
|
+
it { expect(report.error).to eq(Rdkafka::RdkafkaError.new(response)) }
|
60
|
+
end
|
61
|
+
end
|
47
62
|
end
|
@@ -627,4 +627,20 @@ describe Rdkafka::Producer do
|
|
627
627
|
end
|
628
628
|
end
|
629
629
|
end
|
630
|
+
|
631
|
+
context "when not being able to deliver the message" do
|
632
|
+
let(:producer) do
|
633
|
+
rdkafka_producer_config(
|
634
|
+
"bootstrap.servers": "localhost:9093",
|
635
|
+
"message.timeout.ms": 100
|
636
|
+
).producer
|
637
|
+
end
|
638
|
+
|
639
|
+
it "should contain the error in the response when not deliverable" do
|
640
|
+
handler = producer.produce(topic: 'produce_test_topic', payload: nil)
|
641
|
+
# Wait for the async callbacks and delivery registry to update
|
642
|
+
sleep(2)
|
643
|
+
expect(handler.create_result.error).to be_a(Rdkafka::RdkafkaError)
|
644
|
+
end
|
645
|
+
end
|
630
646
|
end
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: karafka-rdkafka
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.13.
|
4
|
+
version: 0.13.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Thijs Cadier
|
@@ -35,7 +35,7 @@ cert_chain:
|
|
35
35
|
AnG1dJU+yL2BK7vaVytLTstJME5mepSZ46qqIJXMuWob/YPDmVaBF39TDSG9e34s
|
36
36
|
msG3BiCqgOgHAnL23+CN3Rt8MsuRfEtoTKpJVcCfoEoNHOkc
|
37
37
|
-----END CERTIFICATE-----
|
38
|
-
date: 2023-
|
38
|
+
date: 2023-09-16 00:00:00.000000000 Z
|
39
39
|
dependencies:
|
40
40
|
- !ruby/object:Gem::Dependency
|
41
41
|
name: ffi
|
@@ -258,7 +258,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
258
258
|
- !ruby/object:Gem::Version
|
259
259
|
version: '0'
|
260
260
|
requirements: []
|
261
|
-
rubygems_version: 3.3.
|
261
|
+
rubygems_version: 3.3.4
|
262
262
|
signing_key:
|
263
263
|
specification_version: 4
|
264
264
|
summary: The rdkafka gem is a modern Kafka client library for Ruby based on librdkafka.
|
metadata.gz.sig
CHANGED
Binary file
|