rdkafka 0.13.0.beta.5 → 0.13.0.beta.6
Sign up to get free protection for your applications and to get access to all the features.
- 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.
|