rdkafka 0.17.0 → 0.19.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/.github/workflows/ci.yml +3 -2
- data/.ruby-version +1 -1
- data/CHANGELOG.md +14 -0
- data/README.md +10 -8
- data/certs/cert.pem +26 -0
- data/dist/{librdkafka_2.4.0.tar.gz → librdkafka_2.5.3.tar.gz} +0 -0
- data/dist/patches/rdkafka_sticky_assignor.c.patch +26 -0
- data/docker-compose.yml +1 -1
- data/lib/rdkafka/bindings.rb +1 -1
- data/lib/rdkafka/callbacks.rb +39 -15
- data/lib/rdkafka/config.rb +5 -1
- data/lib/rdkafka/producer.rb +1 -1
- data/lib/rdkafka/version.rb +3 -3
- data/rdkafka.gemspec +2 -2
- data/spec/rdkafka/admin_spec.rb +15 -1
- data.tar.gz.sig +0 -0
- metadata +28 -27
- metadata.gz.sig +0 -0
- data/certs/cert_chain.pem +0 -26
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0fd23bfe1b2c4372cd42937cd388c5ff893b4ff448613bff8a74f8fd6c1ecc7f
|
4
|
+
data.tar.gz: 8085175e03eed6d02ca929691ec039bf4cb0cba2a470d9021d80b5d7de6774e2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b2332ee34165297680322124ebe0f4e5ea2dacdeab94a7d0a43a4d199d6c6d000a59d96cf752def7530e0233616ee1286ea432f20f877128170a0298385770d5
|
7
|
+
data.tar.gz: 980cf6f95573f3947d0f9b5a916aaea8d397f6ac59065b6a657fc4505f89f1d13155462879154c9192dd5c495bc1f51aefd99af5d944db470f455bf1ded8853f
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/.github/workflows/ci.yml
CHANGED
@@ -26,7 +26,6 @@ jobs:
|
|
26
26
|
- '3.3'
|
27
27
|
- '3.2'
|
28
28
|
- '3.1'
|
29
|
-
- '3.0'
|
30
29
|
include:
|
31
30
|
- ruby: '3.3'
|
32
31
|
coverage: 'true'
|
@@ -50,6 +49,8 @@ jobs:
|
|
50
49
|
GITHUB_COVERAGE: ${{matrix.coverage}}
|
51
50
|
|
52
51
|
run: |
|
52
|
+
set -e
|
53
53
|
bundle install --path vendor/bundle
|
54
|
-
cd ext && bundle exec rake
|
54
|
+
cd ext && bundle exec rake
|
55
|
+
cd ..
|
55
56
|
bundle exec rspec
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.3.
|
1
|
+
3.3.5
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,19 @@
|
|
1
1
|
# Rdkafka Changelog
|
2
2
|
|
3
|
+
## 0.19.0 (2024-10-01)
|
4
|
+
- **[Breaking]** Drop Ruby 3.0 support
|
5
|
+
- [Enhancement] Update `librdkafka` to `2.5.3`
|
6
|
+
- [Enhancement] Use default oauth callback if none is passed (bachmanity1)
|
7
|
+
- [Fix] Fix incorrectly behaving CI on failures.
|
8
|
+
- [Patch] Patch with "Add forward declaration to fix compilation without ssl" fix
|
9
|
+
|
10
|
+
## 0.18.0 (2024-09-02)
|
11
|
+
- [Enhancement] Update `librdkafka` to `2.5.0`
|
12
|
+
- [Enhancement] Do not release GVL on `rd_kafka_name` (ferrous26)
|
13
|
+
- [Patch] Patch cooperative-sticky assignments in librdkafka.
|
14
|
+
- [Fix] Mitigate a case where FFI would not restart the background events callback dispatcher in forks
|
15
|
+
- [Fix] Fix unused variable reference in producer (lucasmvnascimento)
|
16
|
+
|
3
17
|
## 0.17.0 (2024-08-03)
|
4
18
|
- [Feature] Add `#seek_by` to be able to seek for a message by topic, partition and offset (zinahia)
|
5
19
|
- [Enhancement] Update `librdkafka` to `2.4.0`
|
data/README.md
CHANGED
@@ -163,11 +163,13 @@ bundle exec rake produce_messages
|
|
163
163
|
|
164
164
|
| rdkafka-ruby | librdkafka | patches |
|
165
165
|
|-|-|-|
|
166
|
-
| 0.
|
167
|
-
| 0.
|
168
|
-
| 0.
|
169
|
-
| 0.
|
170
|
-
| 0.
|
171
|
-
| 0.
|
172
|
-
| 0.
|
173
|
-
| 0.
|
166
|
+
| 0.19.0 (2024-10-01) | 2.5.3 (2024-09-02) | yes |
|
167
|
+
| 0.18.0 (2024-09-02) | 2.5.0 (2024-06-10) | yes |
|
168
|
+
| 0.17.0 (2024-08-03) | 2.4.0 (2024-05-07) | no |
|
169
|
+
| 0.16.0 (2024-06-13) | 2.3.0 (2023-10-25) | no |
|
170
|
+
| 0.15.0 (2023-12-03) | 2.3.0 (2023-10-25) | no |
|
171
|
+
| 0.14.0 (2023-11-21) | 2.2.0 (2023-07-12) | no |
|
172
|
+
| 0.13.0 (2023-07-24) | 2.0.2 (2023-01-20) | no |
|
173
|
+
| 0.12.0 (2022-06-17) | 1.9.0 (2022-06-16) | no |
|
174
|
+
| 0.11.0 (2021-11-17) | 1.8.2 (2021-10-18) | no |
|
175
|
+
| 0.10.0 (2021-09-07) | 1.5.0 (2020-07-20) | no |
|
data/certs/cert.pem
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
2
|
+
MIIEcDCCAtigAwIBAgIBATANBgkqhkiG9w0BAQsFADA/MRAwDgYDVQQDDAdjb250
|
3
|
+
YWN0MRcwFQYKCZImiZPyLGQBGRYHa2FyYWZrYTESMBAGCgmSJomT8ixkARkWAmlv
|
4
|
+
MB4XDTI0MDgyMzEwMTkyMFoXDTQ5MDgxNzEwMTkyMFowPzEQMA4GA1UEAwwHY29u
|
5
|
+
dGFjdDEXMBUGCgmSJomT8ixkARkWB2thcmFma2ExEjAQBgoJkiaJk/IsZAEZFgJp
|
6
|
+
bzCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBAKjLhLjQqUlNayxkXnO+
|
7
|
+
PsmCDs/KFIzhrsYMfLZRZNaWmzV3ujljMOdDjd4snM2X06C41iVdQPWjpe3j8vVe
|
8
|
+
ZXEWR/twSbOP6Eeg8WVH2wCOo0x5i7yhVn4UBLH4JpfEMCbemVcWQ9ry9OMg4WpH
|
9
|
+
Uu4dRwxFV7hzCz3p0QfNLRI4miAxnGWcnlD98IJRjBAksTuR1Llj0vbOrDGsL9ZT
|
10
|
+
JeXP2gdRLd8SqzAFJEWrbeTBCBU7gfSh3oMg5SVDLjaqf7Kz5wC/8bDZydzanOxB
|
11
|
+
T6CDXPsCnllmvTNx2ei2T5rGYJOzJeNTmJLLK6hJWUlAvaQSvCwZRvFJ0tVGLEoS
|
12
|
+
flqSr6uGyyl1eMUsNmsH4BqPEYcAV6P2PKTv2vUR8AP0raDvZ3xL1TKvfRb8xRpo
|
13
|
+
vPopCGlY5XBWEc6QERHfVLTIVsjnls2/Ujj4h8/TSfqqYnaHKefIMLbuD/tquMjD
|
14
|
+
iWQsW2qStBV0T+U7FijKxVfrfqZP7GxQmDAc9o1iiyAa3QIDAQABo3cwdTAJBgNV
|
15
|
+
HRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQU3O4dTXmvE7YpAkszGzR9DdL9
|
16
|
+
sbEwHQYDVR0RBBYwFIESY29udGFjdEBrYXJhZmthLmlvMB0GA1UdEgQWMBSBEmNv
|
17
|
+
bnRhY3RAa2FyYWZrYS5pbzANBgkqhkiG9w0BAQsFAAOCAYEAVKTfoLXn7mqdSxIR
|
18
|
+
eqxcR6Huudg1jes81s1+X0uiRTR3hxxKZ3Y82cPsee9zYWyBrN8TA4KA0WILTru7
|
19
|
+
Ygxvzha0SRPsSiaKLmgOJ+61ebI4+bOORzIJLpD6GxCxu1r7MI4+0r1u1xe0EWi8
|
20
|
+
agkVo1k4Vi8cKMLm6Gl9b3wG9zQBw6fcgKwmpjKiNnOLP+OytzUANrIUJjoq6oal
|
21
|
+
TC+f/Uc0TLaRqUaW/bejxzDWWHoM3SU6aoLPuerglzp9zZVzihXwx3jPLUVKDFpF
|
22
|
+
Rl2lcBDxlpYGueGo0/oNzGJAAy6js8jhtHC9+19PD53vk7wHtFTZ/0ugDQYnwQ+x
|
23
|
+
oml2fAAuVWpTBCgOVFe6XCQpMKopzoxQ1PjKztW2KYxgJdIBX87SnL3aWuBQmhRd
|
24
|
+
i9zWxov0mr44TWegTVeypcWGd/0nxu1+QHVNHJrpqlPBRvwQsUm7fwmRInGpcaB8
|
25
|
+
ap8wNYvryYzrzvzUxIVFBVM5PacgkFqRmolCa8I7tdKQN+R1
|
26
|
+
-----END CERTIFICATE-----
|
Binary file
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# This patch is released under the 2-clause BSD license, same as librdkafka
|
2
|
+
# Fixes: https://github.com/confluentinc/librdkafka/issues/4783
|
3
|
+
#
|
4
|
+
--- librdkafka_2.5.3/src/rdkafka_sticky_assignor.c 2024-07-08 09:47:43.000000000 +0200
|
5
|
+
+++ librdkafka_2.5.3/src/rdkafka_sticky_assignor.c 2024-07-30 09:44:38.529759640 +0200
|
6
|
+
@@ -769,7 +769,7 @@
|
7
|
+
const rd_kafka_topic_partition_list_t *partitions;
|
8
|
+
const char *consumer;
|
9
|
+
const rd_map_elem_t *elem;
|
10
|
+
- int i;
|
11
|
+
+ int i, j;
|
12
|
+
|
13
|
+
/* The assignment is balanced if minimum and maximum numbers of
|
14
|
+
* partitions assigned to consumers differ by at most one. */
|
15
|
+
@@ -836,9 +836,9 @@
|
16
|
+
|
17
|
+
/* Otherwise make sure it can't get any more partitions */
|
18
|
+
|
19
|
+
- for (i = 0; i < potentialTopicPartitions->cnt; i++) {
|
20
|
+
+ for (j = 0; j < potentialTopicPartitions->cnt; j++) {
|
21
|
+
const rd_kafka_topic_partition_t *partition =
|
22
|
+
- &potentialTopicPartitions->elems[i];
|
23
|
+
+ &potentialTopicPartitions->elems[j];
|
24
|
+
const char *otherConsumer;
|
25
|
+
int otherConsumerPartitionCount;
|
26
|
+
|
data/docker-compose.yml
CHANGED
data/lib/rdkafka/bindings.rb
CHANGED
@@ -38,7 +38,7 @@ module Rdkafka
|
|
38
38
|
|
39
39
|
# Metadata
|
40
40
|
|
41
|
-
attach_function :rd_kafka_name, [:pointer], :string
|
41
|
+
attach_function :rd_kafka_name, [:pointer], :string
|
42
42
|
attach_function :rd_kafka_memberid, [:pointer], :string, blocking: true
|
43
43
|
attach_function :rd_kafka_clusterid, [:pointer], :string, blocking: true
|
44
44
|
attach_function :rd_kafka_metadata, [:pointer, :int, :pointer, :pointer, :int], :int, blocking: true
|
data/lib/rdkafka/callbacks.rb
CHANGED
@@ -2,7 +2,6 @@
|
|
2
2
|
|
3
3
|
module Rdkafka
|
4
4
|
module Callbacks
|
5
|
-
|
6
5
|
# Extracts attributes of a rd_kafka_topic_result_t
|
7
6
|
#
|
8
7
|
# @private
|
@@ -149,13 +148,6 @@ module Rdkafka
|
|
149
148
|
end
|
150
149
|
end
|
151
150
|
|
152
|
-
# FFI Function used for Create Topic and Delete Topic callbacks
|
153
|
-
BackgroundEventCallbackFunction = FFI::Function.new(
|
154
|
-
:void, [:pointer, :pointer, :pointer]
|
155
|
-
) do |client_ptr, event_ptr, opaque_ptr|
|
156
|
-
BackgroundEventCallback.call(client_ptr, event_ptr, opaque_ptr)
|
157
|
-
end
|
158
|
-
|
159
151
|
# @private
|
160
152
|
class BackgroundEventCallback
|
161
153
|
def self.call(_, event_ptr, _)
|
@@ -348,13 +340,6 @@ module Rdkafka
|
|
348
340
|
end
|
349
341
|
end
|
350
342
|
|
351
|
-
# FFI Function used for Message Delivery callbacks
|
352
|
-
DeliveryCallbackFunction = FFI::Function.new(
|
353
|
-
:void, [:pointer, :pointer, :pointer]
|
354
|
-
) do |client_ptr, message_ptr, opaque_ptr|
|
355
|
-
DeliveryCallback.call(client_ptr, message_ptr, opaque_ptr)
|
356
|
-
end
|
357
|
-
|
358
343
|
# @private
|
359
344
|
class DeliveryCallback
|
360
345
|
def self.call(_, message_ptr, opaque_ptr)
|
@@ -387,5 +372,44 @@ module Rdkafka
|
|
387
372
|
end
|
388
373
|
end
|
389
374
|
end
|
375
|
+
|
376
|
+
@@mutex = Mutex.new
|
377
|
+
@@current_pid = nil
|
378
|
+
|
379
|
+
class << self
|
380
|
+
# Defines or recreates after fork callbacks that require FFI thread so the callback thread
|
381
|
+
# is always correctly initialized
|
382
|
+
#
|
383
|
+
# @see https://github.com/ffi/ffi/issues/1114
|
384
|
+
def ensure_ffi_running
|
385
|
+
@@mutex.synchronize do
|
386
|
+
return if @@current_pid == ::Process.pid
|
387
|
+
|
388
|
+
if const_defined?(:BackgroundEventCallbackFunction, false)
|
389
|
+
send(:remove_const, :BackgroundEventCallbackFunction)
|
390
|
+
send(:remove_const, :DeliveryCallbackFunction)
|
391
|
+
end
|
392
|
+
|
393
|
+
# FFI Function used for Create Topic and Delete Topic callbacks
|
394
|
+
background_event_callback_function = FFI::Function.new(
|
395
|
+
:void, [:pointer, :pointer, :pointer]
|
396
|
+
) do |client_ptr, event_ptr, opaque_ptr|
|
397
|
+
BackgroundEventCallback.call(client_ptr, event_ptr, opaque_ptr)
|
398
|
+
end
|
399
|
+
|
400
|
+
# FFI Function used for Message Delivery callbacks
|
401
|
+
delivery_callback_function = FFI::Function.new(
|
402
|
+
:void, [:pointer, :pointer, :pointer]
|
403
|
+
) do |client_ptr, message_ptr, opaque_ptr|
|
404
|
+
DeliveryCallback.call(client_ptr, message_ptr, opaque_ptr)
|
405
|
+
end
|
406
|
+
|
407
|
+
const_set(:BackgroundEventCallbackFunction, background_event_callback_function)
|
408
|
+
const_set(:DeliveryCallbackFunction, delivery_callback_function)
|
409
|
+
|
410
|
+
@@current_pid = ::Process.pid
|
411
|
+
end
|
412
|
+
end
|
413
|
+
end
|
390
414
|
end
|
391
415
|
end
|
data/lib/rdkafka/config.rb
CHANGED
@@ -146,6 +146,8 @@ module Rdkafka
|
|
146
146
|
#
|
147
147
|
# @return [Config]
|
148
148
|
def initialize(config_hash = {})
|
149
|
+
Callbacks.ensure_ffi_running
|
150
|
+
|
149
151
|
@config_hash = DEFAULT_CONFIG.merge(config_hash)
|
150
152
|
@consumer_rebalance_listener = nil
|
151
153
|
@consumer_poll_set = true
|
@@ -336,7 +338,9 @@ module Rdkafka
|
|
336
338
|
Rdkafka::Bindings.rd_kafka_conf_set_error_cb(config, Rdkafka::Bindings::ErrorCallback)
|
337
339
|
|
338
340
|
# Set oauth callback
|
339
|
-
Rdkafka::
|
341
|
+
if Rdkafka::Config.oauthbearer_token_refresh_callback
|
342
|
+
Rdkafka::Bindings.rd_kafka_conf_set_oauthbearer_token_refresh_cb(config, Rdkafka::Bindings::OAuthbearerTokenRefreshCallback)
|
343
|
+
end
|
340
344
|
end
|
341
345
|
end
|
342
346
|
|
data/lib/rdkafka/producer.rb
CHANGED
@@ -298,7 +298,7 @@ module Rdkafka
|
|
298
298
|
partitioner_name = @topics_configs.dig(topic, topic_config_hash, :partitioner) || @partitioner_name
|
299
299
|
|
300
300
|
# If the topic is not present, set to -1
|
301
|
-
partition = Rdkafka::Bindings.partitioner(partition_key, partition_count,
|
301
|
+
partition = Rdkafka::Bindings.partitioner(partition_key, partition_count, partitioner_name) if partition_count.positive?
|
302
302
|
end
|
303
303
|
|
304
304
|
# If partition is nil, use -1 to let librdafka set the partition randomly or
|
data/lib/rdkafka/version.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module Rdkafka
|
4
|
-
VERSION = "0.
|
5
|
-
LIBRDKAFKA_VERSION = "2.
|
6
|
-
LIBRDKAFKA_SOURCE_SHA256 = "
|
4
|
+
VERSION = "0.19.0"
|
5
|
+
LIBRDKAFKA_VERSION = "2.5.3"
|
6
|
+
LIBRDKAFKA_SOURCE_SHA256 = "eaa1213fdddf9c43e28834d9a832d9dd732377d35121e42f875966305f52b8ff"
|
7
7
|
end
|
data/rdkafka.gemspec
CHANGED
@@ -15,9 +15,9 @@ Gem::Specification.new do |gem|
|
|
15
15
|
gem.name = 'rdkafka'
|
16
16
|
gem.require_paths = ['lib']
|
17
17
|
gem.version = Rdkafka::VERSION
|
18
|
-
gem.required_ruby_version = '>= 3.
|
18
|
+
gem.required_ruby_version = '>= 3.1'
|
19
19
|
gem.extensions = %w(ext/Rakefile)
|
20
|
-
gem.cert_chain = %w[certs/
|
20
|
+
gem.cert_chain = %w[certs/cert.pem]
|
21
21
|
|
22
22
|
if $PROGRAM_NAME.end_with?('gem')
|
23
23
|
gem.signing_key = File.expand_path('~/.ssh/gem-private_key.pem')
|
data/spec/rdkafka/admin_spec.rb
CHANGED
@@ -34,7 +34,7 @@ describe Rdkafka::Admin do
|
|
34
34
|
describe '#describe_errors' do
|
35
35
|
let(:errors) { admin.class.describe_errors }
|
36
36
|
|
37
|
-
it { expect(errors.size).to eq(
|
37
|
+
it { expect(errors.size).to eq(170) }
|
38
38
|
it { expect(errors[-184]).to eq(code: -184, description: 'Local: Queue full', name: '_QUEUE_FULL') }
|
39
39
|
it { expect(errors[21]).to eq(code: 21, description: 'Broker: Invalid required acks value', name: 'INVALID_REQUIRED_ACKS') }
|
40
40
|
end
|
@@ -737,4 +737,18 @@ expect(ex.broker_message).to match(/Topic name.*is invalid: .* contains one or m
|
|
737
737
|
end
|
738
738
|
end
|
739
739
|
end
|
740
|
+
|
741
|
+
context "when operating from a fork" do
|
742
|
+
# @see https://github.com/ffi/ffi/issues/1114
|
743
|
+
it 'expect to be able to create topics and run other admin operations without hanging' do
|
744
|
+
# If the FFI issue is not mitigated, this will hang forever
|
745
|
+
pid = fork do
|
746
|
+
admin
|
747
|
+
.create_topic(topic_name, topic_partition_count, topic_replication_factor)
|
748
|
+
.wait
|
749
|
+
end
|
750
|
+
|
751
|
+
Process.wait(pid)
|
752
|
+
end
|
753
|
+
end
|
740
754
|
end
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rdkafka
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.19.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Thijs Cadier
|
@@ -13,30 +13,30 @@ cert_chain:
|
|
13
13
|
-----BEGIN CERTIFICATE-----
|
14
14
|
MIIEcDCCAtigAwIBAgIBATANBgkqhkiG9w0BAQsFADA/MRAwDgYDVQQDDAdjb250
|
15
15
|
YWN0MRcwFQYKCZImiZPyLGQBGRYHa2FyYWZrYTESMBAGCgmSJomT8ixkARkWAmlv
|
16
|
-
|
16
|
+
MB4XDTI0MDgyMzEwMTkyMFoXDTQ5MDgxNzEwMTkyMFowPzEQMA4GA1UEAwwHY29u
|
17
17
|
dGFjdDEXMBUGCgmSJomT8ixkARkWB2thcmFma2ExEjAQBgoJkiaJk/IsZAEZFgJp
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
18
|
+
bzCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBAKjLhLjQqUlNayxkXnO+
|
19
|
+
PsmCDs/KFIzhrsYMfLZRZNaWmzV3ujljMOdDjd4snM2X06C41iVdQPWjpe3j8vVe
|
20
|
+
ZXEWR/twSbOP6Eeg8WVH2wCOo0x5i7yhVn4UBLH4JpfEMCbemVcWQ9ry9OMg4WpH
|
21
|
+
Uu4dRwxFV7hzCz3p0QfNLRI4miAxnGWcnlD98IJRjBAksTuR1Llj0vbOrDGsL9ZT
|
22
|
+
JeXP2gdRLd8SqzAFJEWrbeTBCBU7gfSh3oMg5SVDLjaqf7Kz5wC/8bDZydzanOxB
|
23
|
+
T6CDXPsCnllmvTNx2ei2T5rGYJOzJeNTmJLLK6hJWUlAvaQSvCwZRvFJ0tVGLEoS
|
24
|
+
flqSr6uGyyl1eMUsNmsH4BqPEYcAV6P2PKTv2vUR8AP0raDvZ3xL1TKvfRb8xRpo
|
25
|
+
vPopCGlY5XBWEc6QERHfVLTIVsjnls2/Ujj4h8/TSfqqYnaHKefIMLbuD/tquMjD
|
26
|
+
iWQsW2qStBV0T+U7FijKxVfrfqZP7GxQmDAc9o1iiyAa3QIDAQABo3cwdTAJBgNV
|
27
|
+
HRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQU3O4dTXmvE7YpAkszGzR9DdL9
|
28
|
+
sbEwHQYDVR0RBBYwFIESY29udGFjdEBrYXJhZmthLmlvMB0GA1UdEgQWMBSBEmNv
|
29
|
+
bnRhY3RAa2FyYWZrYS5pbzANBgkqhkiG9w0BAQsFAAOCAYEAVKTfoLXn7mqdSxIR
|
30
|
+
eqxcR6Huudg1jes81s1+X0uiRTR3hxxKZ3Y82cPsee9zYWyBrN8TA4KA0WILTru7
|
31
|
+
Ygxvzha0SRPsSiaKLmgOJ+61ebI4+bOORzIJLpD6GxCxu1r7MI4+0r1u1xe0EWi8
|
32
|
+
agkVo1k4Vi8cKMLm6Gl9b3wG9zQBw6fcgKwmpjKiNnOLP+OytzUANrIUJjoq6oal
|
33
|
+
TC+f/Uc0TLaRqUaW/bejxzDWWHoM3SU6aoLPuerglzp9zZVzihXwx3jPLUVKDFpF
|
34
|
+
Rl2lcBDxlpYGueGo0/oNzGJAAy6js8jhtHC9+19PD53vk7wHtFTZ/0ugDQYnwQ+x
|
35
|
+
oml2fAAuVWpTBCgOVFe6XCQpMKopzoxQ1PjKztW2KYxgJdIBX87SnL3aWuBQmhRd
|
36
|
+
i9zWxov0mr44TWegTVeypcWGd/0nxu1+QHVNHJrpqlPBRvwQsUm7fwmRInGpcaB8
|
37
|
+
ap8wNYvryYzrzvzUxIVFBVM5PacgkFqRmolCa8I7tdKQN+R1
|
38
38
|
-----END CERTIFICATE-----
|
39
|
-
date: 2024-
|
39
|
+
date: 2024-10-01 00:00:00.000000000 Z
|
40
40
|
dependencies:
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: ffi
|
@@ -185,8 +185,9 @@ files:
|
|
185
185
|
- MIT-LICENSE
|
186
186
|
- README.md
|
187
187
|
- Rakefile
|
188
|
-
- certs/
|
189
|
-
- dist/librdkafka_2.
|
188
|
+
- certs/cert.pem
|
189
|
+
- dist/librdkafka_2.5.3.tar.gz
|
190
|
+
- dist/patches/rdkafka_sticky_assignor.c.patch
|
190
191
|
- docker-compose.yml
|
191
192
|
- ext/README.md
|
192
193
|
- ext/Rakefile
|
@@ -279,14 +280,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
279
280
|
requirements:
|
280
281
|
- - ">="
|
281
282
|
- !ruby/object:Gem::Version
|
282
|
-
version: '3.
|
283
|
+
version: '3.1'
|
283
284
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
284
285
|
requirements:
|
285
286
|
- - ">="
|
286
287
|
- !ruby/object:Gem::Version
|
287
288
|
version: '0'
|
288
289
|
requirements: []
|
289
|
-
rubygems_version: 3.5.
|
290
|
+
rubygems_version: 3.5.16
|
290
291
|
signing_key:
|
291
292
|
specification_version: 4
|
292
293
|
summary: The rdkafka gem is a modern Kafka client library for Ruby based on librdkafka.
|
metadata.gz.sig
CHANGED
Binary file
|
data/certs/cert_chain.pem
DELETED
@@ -1,26 +0,0 @@
|
|
1
|
-
-----BEGIN CERTIFICATE-----
|
2
|
-
MIIEcDCCAtigAwIBAgIBATANBgkqhkiG9w0BAQsFADA/MRAwDgYDVQQDDAdjb250
|
3
|
-
YWN0MRcwFQYKCZImiZPyLGQBGRYHa2FyYWZrYTESMBAGCgmSJomT8ixkARkWAmlv
|
4
|
-
MB4XDTIzMDgyMTA3MjU1NFoXDTI0MDgyMDA3MjU1NFowPzEQMA4GA1UEAwwHY29u
|
5
|
-
dGFjdDEXMBUGCgmSJomT8ixkARkWB2thcmFma2ExEjAQBgoJkiaJk/IsZAEZFgJp
|
6
|
-
bzCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBAOuZpyQKEwsTG9plLat7
|
7
|
-
8bUaNuNBEnouTsNMr6X+XTgvyrAxTuocdsyP1sNCjdS1B8RiiDH1/Nt9qpvlBWon
|
8
|
-
sdJ1SYhaWNVfqiYStTDnCx3PRMmHRdD4KqUWKpN6VpZ1O/Zu+9Mw0COmvXgZuuO9
|
9
|
-
wMSJkXRo6dTCfMedLAIxjMeBIxtoLR2e6Jm6MR8+8WYYVWrO9kSOOt5eKQLBY7aK
|
10
|
-
b/Dc40EcJKPg3Z30Pia1M9ZyRlb6SOj6SKpHRqc7vbVQxjEw6Jjal1lZ49m3YZMd
|
11
|
-
ArMAs9lQZNdSw5/UX6HWWURLowg6k10RnhTUtYyzO9BFev0JFJftHnmuk8vtb+SD
|
12
|
-
5VPmjFXg2VOcw0B7FtG75Vackk8QKfgVe3nSPhVpew2CSPlbJzH80wChbr19+e3+
|
13
|
-
YGr1tOiaJrL6c+PNmb0F31NXMKpj/r+n15HwlTMRxQrzFcgjBlxf2XFGnPQXHhBm
|
14
|
-
kp1OFnEq4GG9sON4glRldkwzi/f/fGcZmo5fm3d+0ZdNgwIDAQABo3cwdTAJBgNV
|
15
|
-
HRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUPVH5+dLA80A1kJ2Uz5iGwfOa
|
16
|
-
1+swHQYDVR0RBBYwFIESY29udGFjdEBrYXJhZmthLmlvMB0GA1UdEgQWMBSBEmNv
|
17
|
-
bnRhY3RAa2FyYWZrYS5pbzANBgkqhkiG9w0BAQsFAAOCAYEAnpa0jcN7JzREHMTQ
|
18
|
-
bfZ+xcvlrzuROMY6A3zIZmQgbnoZZNuX4cMRrT1p1HuwXpxdpHPw7dDjYqWw3+1h
|
19
|
-
3mXLeMuk7amjQpYoSWU/OIZMhIsARra22UN8qkkUlUj3AwTaChVKN/bPJOM2DzfU
|
20
|
-
kz9vUgLeYYFfQbZqeI6SsM7ltilRV4W8D9yNUQQvOxCFxtLOetJ00fC/E7zMUzbK
|
21
|
-
IBwYFQYsbI6XQzgAIPW6nGSYKgRhkfpmquXSNKZRIQ4V6bFrufa+DzD0bt2ZA3ah
|
22
|
-
fMmJguyb5L2Gf1zpDXzFSPMG7YQFLzwYz1zZZvOU7/UCpQsHpID/YxqDp4+Dgb+Y
|
23
|
-
qma0whX8UG/gXFV2pYWpYOfpatvahwi+A1TwPQsuZwkkhi1OyF1At3RY+hjSXyav
|
24
|
-
AnG1dJU+yL2BK7vaVytLTstJME5mepSZ46qqIJXMuWob/YPDmVaBF39TDSG9e34s
|
25
|
-
msG3BiCqgOgHAnL23+CN3Rt8MsuRfEtoTKpJVcCfoEoNHOkc
|
26
|
-
-----END CERTIFICATE-----
|