karafka-rdkafka 0.23.0.beta1-aarch64-linux-gnu → 0.23.0.beta2-aarch64-linux-gnu
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 +8 -6
- data/README.md +1 -1
- data/ext/librdkafka.so +0 -0
- data/karafka-rdkafka.gemspec +1 -1
- data/lib/rdkafka/helpers/oauth.rb +36 -9
- data/lib/rdkafka/version.rb +3 -3
- 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: 86e56f5a9021be97d52e89fa9c04f80324aa1022f41750531a4fbf22997d5068
|
|
4
|
+
data.tar.gz: 3bceb7d429c03e6a17e4146b322492e1b8106c28735a8f74e975ec9cb8a9e48e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 7d93f213f21bae31b27086f002133a8116db7e35291a046d02acb85bb33f90143cb158b5a791a46ebe0f613c795af1cb8ae75da787537f4e3a9335edce6ff202
|
|
7
|
+
data.tar.gz: 5a64f14eb86fadf414a00a08cbf390b9d3e1488472a137247f4092df85d563c3b1b4b08d71cab48ee2175dca72b35637c5c2fd93eda7209073b6a2e0d7caebb6
|
data/CHANGELOG.md
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
# Rdkafka Changelog
|
|
2
2
|
|
|
3
3
|
## 0.23.0 (Unreleased)
|
|
4
|
-
- [Enhancement] Bump librdkafka to 2.12.
|
|
4
|
+
- [Enhancement] Bump librdkafka to 2.12.1.
|
|
5
|
+
- [Enhancement] Force lock FFI to 1.17.1 or higher to include critical bug fixes around GCC, write barriers, and thread restarts for forks.
|
|
6
|
+
- [Fix] Fix for Core dump when providing extensions to oauthbearer_set_token (dssjoblom)
|
|
5
7
|
|
|
6
8
|
## 0.22.2 (2025-10-09)
|
|
7
9
|
- [Fix] Fix Github Action Ruby reference preventing non-compiled releases.
|
|
@@ -11,7 +13,7 @@
|
|
|
11
13
|
- [Enhancement] Optimize producer header processing with early returns and efficient array operations (69% faster for nil headers, 41% faster for empty headers, 12-32% faster when headers are present, with larger improvements for complex header scenarios).
|
|
12
14
|
|
|
13
15
|
## 0.22.0 (2025-09-26)
|
|
14
|
-
- **[
|
|
16
|
+
- **[EOL]** Drop support for Ruby 3.1 to move forward with the fiber scheduler work.
|
|
15
17
|
- [Enhancement] Bump librdkafka to 2.11.1.
|
|
16
18
|
- [Enhancement] Improve sigstore attestation for precompiled releases.
|
|
17
19
|
- [Fix] Fix incorrectly set default SSL certs dir.
|
|
@@ -71,7 +73,7 @@
|
|
|
71
73
|
- [Fix] Do not run `Rdkafka::Bindings.rd_kafka_global_init` on require to prevent some of macos versions from hanging on Puma fork.
|
|
72
74
|
|
|
73
75
|
## 0.18.0 (2024-11-26)
|
|
74
|
-
- **[
|
|
76
|
+
- **[EOL]** Drop Ruby 3.0 support
|
|
75
77
|
- [Enhancement] Bump librdkafka to 2.6.1
|
|
76
78
|
- [Enhancement] Use default oauth callback if none is passed (bachmanity1)
|
|
77
79
|
- [Enhancement] Expose `rd_kafka_global_init` to mitigate macos forking issues.
|
|
@@ -112,7 +114,7 @@
|
|
|
112
114
|
- **[Breaking]** `HashWithSymbolKeysTreatedLikeStrings` has been removed so headers are regular hashes with string keys.
|
|
113
115
|
- [Enhancement] Bump librdkafka to 2.4.0
|
|
114
116
|
- [Enhancement] Save two objects on message produced and lower CPU usage on message produced with small improvements.
|
|
115
|
-
- [
|
|
117
|
+
- **[EOL]** Remove support for Ruby 2.7. Supporting it was a bug since rest of the karafka ecosystem no longer supports it.
|
|
116
118
|
|
|
117
119
|
## 0.15.2 (2024-07-10)
|
|
118
120
|
- [Fix] Switch to local release of librdkafka to mitigate its unavailability.
|
|
@@ -193,7 +195,7 @@
|
|
|
193
195
|
- [Enhancement] Get consumer position (thijsc & mensfeld)
|
|
194
196
|
|
|
195
197
|
## 0.13.7 (2023-10-31)
|
|
196
|
-
- [
|
|
198
|
+
- **[EOL]** Drop support for Ruby 2.6 due to incompatibilities in usage of `ObjectSpace::WeakMap`
|
|
197
199
|
- [Fix] Fix dangling Opaque references.
|
|
198
200
|
|
|
199
201
|
## 0.13.6 (2023-10-17)
|
|
@@ -260,7 +262,7 @@
|
|
|
260
262
|
|
|
261
263
|
## 0.11.0 (2021-11-17)
|
|
262
264
|
- Upgrade librdkafka to 1.8.2
|
|
263
|
-
- Bump supported minimum Ruby version to 2.6
|
|
265
|
+
- **[EOL]** Bump supported minimum Ruby version to 2.6
|
|
264
266
|
- Better homebrew path detection
|
|
265
267
|
|
|
266
268
|
## 0.10.0 (2021-09-07)
|
data/README.md
CHANGED
|
@@ -63,7 +63,7 @@ Contributions should generally be made to the upstream [rdkafka-ruby repository]
|
|
|
63
63
|
|
|
64
64
|
| rdkafka-ruby | librdkafka | patches |
|
|
65
65
|
|-|-|-|
|
|
66
|
-
| 0.23.x (Unreleased) | 2.12.
|
|
66
|
+
| 0.23.x (Unreleased) | 2.12.1 (2025-10-16) | yes |
|
|
67
67
|
| 0.22.x (2025-09-26) | 2.11.1 (2025-08-18) | yes |
|
|
68
68
|
| 0.21.x (2025-08-18) | 2.11.0 (2025-07-03) | yes |
|
|
69
69
|
| 0.20.x (2025-07-17) | 2.8.0 (2025-01-07) | yes |
|
data/ext/librdkafka.so
CHANGED
|
Binary file
|
data/karafka-rdkafka.gemspec
CHANGED
|
@@ -67,7 +67,7 @@ Gem::Specification.new do |gem|
|
|
|
67
67
|
gem.extensions = %w(ext/Rakefile)
|
|
68
68
|
end
|
|
69
69
|
|
|
70
|
-
gem.add_dependency 'ffi', '~> 1.
|
|
70
|
+
gem.add_dependency 'ffi', '~> 1.17.1'
|
|
71
71
|
gem.add_dependency 'json', '> 2.0'
|
|
72
72
|
gem.add_dependency 'logger'
|
|
73
73
|
gem.add_dependency 'mini_portile2', '~> 2.6'
|
|
@@ -12,12 +12,18 @@ module Rdkafka
|
|
|
12
12
|
# @return [Integer] 0 on success
|
|
13
13
|
def oauthbearer_set_token(token:, lifetime_ms:, principal_name:, extensions: nil)
|
|
14
14
|
error_buffer = FFI::MemoryPointer.from_string(" " * 256)
|
|
15
|
+
extensions_ptr, extensions_str_ptrs = map_extensions(extensions)
|
|
15
16
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
17
|
+
begin
|
|
18
|
+
response = @native_kafka.with_inner do |inner|
|
|
19
|
+
Rdkafka::Bindings.rd_kafka_oauthbearer_set_token(
|
|
20
|
+
inner, token, lifetime_ms, principal_name,
|
|
21
|
+
extensions_ptr, extension_size(extensions), error_buffer, 256
|
|
22
|
+
)
|
|
23
|
+
end
|
|
24
|
+
ensure
|
|
25
|
+
extensions_str_ptrs&.each { |ptr| ptr.free }
|
|
26
|
+
extensions_ptr&.free
|
|
21
27
|
end
|
|
22
28
|
|
|
23
29
|
return response if response.zero?
|
|
@@ -41,10 +47,31 @@ module Rdkafka
|
|
|
41
47
|
|
|
42
48
|
private
|
|
43
49
|
|
|
44
|
-
#
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
50
|
+
# Convert extensions hash to FFI::MemoryPointer (const char **).
|
|
51
|
+
# Note: the returned pointers must be freed manually (autorelease = false).
|
|
52
|
+
def map_extensions(extensions)
|
|
53
|
+
return [nil, nil] if extensions.nil? || extensions.empty?
|
|
54
|
+
|
|
55
|
+
# https://github.com/confluentinc/librdkafka/blob/master/src/rdkafka_sasl_oauthbearer.c#L327-L347
|
|
56
|
+
|
|
57
|
+
# The method argument is const char **
|
|
58
|
+
array_ptr = FFI::MemoryPointer.new(:pointer, extension_size(extensions))
|
|
59
|
+
array_ptr.autorelease = false
|
|
60
|
+
str_ptrs = []
|
|
61
|
+
|
|
62
|
+
# Element i is the key, i + 1 is the value.
|
|
63
|
+
extensions.each_with_index do |(k, v), i|
|
|
64
|
+
k_ptr = FFI::MemoryPointer.from_string(k.to_s)
|
|
65
|
+
k_ptr.autorelease = false
|
|
66
|
+
str_ptrs << k_ptr
|
|
67
|
+
v_ptr = FFI::MemoryPointer.from_string(v.to_s)
|
|
68
|
+
v_ptr.autorelease = false
|
|
69
|
+
str_ptrs << v_ptr
|
|
70
|
+
array_ptr[i * 2].put_pointer(0, k_ptr)
|
|
71
|
+
array_ptr[i * 2 + 1].put_pointer(0, v_ptr)
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
[array_ptr, str_ptrs]
|
|
48
75
|
end
|
|
49
76
|
|
|
50
77
|
# extension_size is the number of keys + values which should be a non-negative even number
|
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.23.0.
|
|
5
|
-
LIBRDKAFKA_VERSION = "2.12.
|
|
6
|
-
LIBRDKAFKA_SOURCE_SHA256 = "
|
|
4
|
+
VERSION = "0.23.0.beta2"
|
|
5
|
+
LIBRDKAFKA_VERSION = "2.12.1"
|
|
6
|
+
LIBRDKAFKA_SOURCE_SHA256 = "ec103fa05cb0f251e375f6ea0b6112cfc9d0acd977dc5b69fdc54242ba38a16f"
|
|
7
7
|
end
|
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.23.0.
|
|
4
|
+
version: 0.23.0.beta2
|
|
5
5
|
platform: aarch64-linux-gnu
|
|
6
6
|
authors:
|
|
7
7
|
- Thijs Cadier
|
|
@@ -16,14 +16,14 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version:
|
|
19
|
+
version: 1.17.1
|
|
20
20
|
type: :runtime
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
24
|
- - "~>"
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version:
|
|
26
|
+
version: 1.17.1
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: json
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|