rdkafka 0.13.0.beta.5 → 0.13.0.beta.6
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
- data/CHANGELOG.md +5 -3
- data/lib/rdkafka/bindings.rb +2 -4
- data/lib/rdkafka/config.rb +4 -4
- data/lib/rdkafka/metadata.rb +2 -2
- data/lib/rdkafka/version.rb +1 -1
- data/spec/rdkafka/consumer_spec.rb +6 -6
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1d9baa27220c65598729e786ff2c585cdb23db317b964fd96aee7067b5922dd1
|
4
|
+
data.tar.gz: 4b072016e30266c9ef8ed1ff5e88ff6caa16dd5ede48eec79e2ea22b14cbf222
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a42852f8a2bb57d28d8a55df808ebcc2cd7ca08daf1acdd139c6e8662ac81ad31da417193e5e6a6f9ed0df9f842e3842b5ad01461f1338e12deb1ca01d56830f
|
7
|
+
data.tar.gz: 8dde39b477b76a7afae0f9f51ec3e1942b2d4d599828bbe7acdd777c17f8fec49f4cc359e3f850db30921d0119bbe32b04c1dbef49e16f0e46d3de313cd56744
|
data/CHANGELOG.md
CHANGED
@@ -8,9 +8,11 @@
|
|
8
8
|
* Bump librdkafka to 1.9.2 (thijsc)
|
9
9
|
* Use finalizers to cleanly exit producer and admin (thijsc)
|
10
10
|
* Lock access to the native kafka client (thijsc)
|
11
|
-
|
12
|
-
|
13
|
-
|
11
|
+
* Fix potential race condition in multi-threaded producer (mensfeld)
|
12
|
+
* Fix leaking FFI resources in specs (mensfeld)
|
13
|
+
* Improve specs stability (mensfeld)
|
14
|
+
* Make metadata request timeout configurable (mensfeld)
|
15
|
+
* call_on_partitions_assigned and call_on_partitions_revoked only get a tpl passed in (thijsc)
|
14
16
|
|
15
17
|
# 0.12.0
|
16
18
|
* Bumps librdkafka to 1.9.0
|
data/lib/rdkafka/bindings.rb
CHANGED
@@ -222,14 +222,12 @@ module Rdkafka
|
|
222
222
|
return unless opaque
|
223
223
|
|
224
224
|
tpl = Rdkafka::Consumer::TopicPartitionList.from_native_tpl(partitions_ptr).freeze
|
225
|
-
consumer = Rdkafka::Consumer.new(client_ptr)
|
226
|
-
|
227
225
|
begin
|
228
226
|
case code
|
229
227
|
when RD_KAFKA_RESP_ERR__ASSIGN_PARTITIONS
|
230
|
-
opaque.call_on_partitions_assigned(
|
228
|
+
opaque.call_on_partitions_assigned(tpl)
|
231
229
|
when RD_KAFKA_RESP_ERR__REVOKE_PARTITIONS
|
232
|
-
opaque.call_on_partitions_revoked(
|
230
|
+
opaque.call_on_partitions_revoked(tpl)
|
233
231
|
end
|
234
232
|
rescue Exception => err
|
235
233
|
Rdkafka::Config.logger.error("Unhandled exception: #{err.class} - #{err.message}")
|
data/lib/rdkafka/config.rb
CHANGED
@@ -285,18 +285,18 @@ module Rdkafka
|
|
285
285
|
producer.call_delivery_callback(delivery_report, delivery_handle) if producer
|
286
286
|
end
|
287
287
|
|
288
|
-
def call_on_partitions_assigned(
|
288
|
+
def call_on_partitions_assigned(list)
|
289
289
|
return unless consumer_rebalance_listener
|
290
290
|
return unless consumer_rebalance_listener.respond_to?(:on_partitions_assigned)
|
291
291
|
|
292
|
-
consumer_rebalance_listener.on_partitions_assigned(
|
292
|
+
consumer_rebalance_listener.on_partitions_assigned(list)
|
293
293
|
end
|
294
294
|
|
295
|
-
def call_on_partitions_revoked(
|
295
|
+
def call_on_partitions_revoked(list)
|
296
296
|
return unless consumer_rebalance_listener
|
297
297
|
return unless consumer_rebalance_listener.respond_to?(:on_partitions_revoked)
|
298
298
|
|
299
|
-
consumer_rebalance_listener.on_partitions_revoked(
|
299
|
+
consumer_rebalance_listener.on_partitions_revoked(list)
|
300
300
|
end
|
301
301
|
end
|
302
302
|
end
|
data/lib/rdkafka/metadata.rb
CHANGED
@@ -4,7 +4,7 @@ module Rdkafka
|
|
4
4
|
class Metadata
|
5
5
|
attr_reader :brokers, :topics
|
6
6
|
|
7
|
-
def initialize(native_client, topic_name = nil)
|
7
|
+
def initialize(native_client, topic_name = nil, timeout_ms = 250)
|
8
8
|
native_topic = if topic_name
|
9
9
|
Rdkafka::Bindings.rd_kafka_topic_new(native_client, topic_name, nil)
|
10
10
|
end
|
@@ -16,7 +16,7 @@ module Rdkafka
|
|
16
16
|
topic_flag = topic_name.nil? ? 1 : 0
|
17
17
|
|
18
18
|
# Retrieve the Metadata
|
19
|
-
result = Rdkafka::Bindings.rd_kafka_metadata(native_client, topic_flag, native_topic, ptr,
|
19
|
+
result = Rdkafka::Bindings.rd_kafka_metadata(native_client, topic_flag, native_topic, ptr, timeout_ms)
|
20
20
|
|
21
21
|
# Error Handling
|
22
22
|
raise Rdkafka::RdkafkaError.new(result) unless result.zero?
|
data/lib/rdkafka/version.rb
CHANGED
@@ -937,11 +937,11 @@ describe Rdkafka::Consumer do
|
|
937
937
|
context "with a working listener" do
|
938
938
|
let(:listener) do
|
939
939
|
Struct.new(:queue) do
|
940
|
-
def on_partitions_assigned(
|
940
|
+
def on_partitions_assigned(list)
|
941
941
|
collect(:assign, list)
|
942
942
|
end
|
943
943
|
|
944
|
-
def on_partitions_revoked(
|
944
|
+
def on_partitions_revoked(list)
|
945
945
|
collect(:revoke, list)
|
946
946
|
end
|
947
947
|
|
@@ -965,12 +965,12 @@ describe Rdkafka::Consumer do
|
|
965
965
|
context "with a broken listener" do
|
966
966
|
let(:listener) do
|
967
967
|
Struct.new(:queue) do
|
968
|
-
def on_partitions_assigned(
|
968
|
+
def on_partitions_assigned(list)
|
969
969
|
queue << :assigned
|
970
970
|
raise 'boom'
|
971
971
|
end
|
972
972
|
|
973
|
-
def on_partitions_revoked(
|
973
|
+
def on_partitions_revoked(list)
|
974
974
|
queue << :revoked
|
975
975
|
raise 'boom'
|
976
976
|
end
|
@@ -1037,11 +1037,11 @@ describe Rdkafka::Consumer do
|
|
1037
1037
|
|
1038
1038
|
let(:listener) do
|
1039
1039
|
Struct.new(:queue) do
|
1040
|
-
def on_partitions_assigned(
|
1040
|
+
def on_partitions_assigned(list)
|
1041
1041
|
collect(:assign, list)
|
1042
1042
|
end
|
1043
1043
|
|
1044
|
-
def on_partitions_revoked(
|
1044
|
+
def on_partitions_revoked(list)
|
1045
1045
|
collect(:revoke, list)
|
1046
1046
|
end
|
1047
1047
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rdkafka
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.13.0.beta.
|
4
|
+
version: 0.13.0.beta.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Thijs Cadier
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-04-
|
11
|
+
date: 2023-04-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ffi
|
@@ -220,7 +220,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
220
220
|
- !ruby/object:Gem::Version
|
221
221
|
version: 1.3.1
|
222
222
|
requirements: []
|
223
|
-
rubygems_version: 3.
|
223
|
+
rubygems_version: 3.3.13
|
224
224
|
signing_key:
|
225
225
|
specification_version: 4
|
226
226
|
summary: The rdkafka gem is a modern Kafka client library for Ruby based on librdkafka.
|