karafka-rdkafka 0.15.0.alpha2 → 0.15.0.beta2
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 +1 -0
- data/ext/Rakefile +8 -0
- data/lib/rdkafka/config.rb +12 -2
- data/lib/rdkafka/helpers/oauth.rb +21 -10
- data/lib/rdkafka/version.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +2 -2
- 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: 35b0da819d785e6087c6dd43c762d815568a1bc69ab3b834d613f00ed7748e83
|
4
|
+
data.tar.gz: 4175fc335ebbbabfda1dd348c0c5c0f0f2a2cd4bcd848fd0adf5706acf550796
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e0d65e75c55f217ceb232e1d0dd6dee5789e8a704d0ec5895d4c87450500d0d480ad9db18a532a67ffc5b970b8dd1e97c8a6be6494e3985a678e811a84036b3c
|
7
|
+
data.tar.gz: 8e11cd4865f058af95499a68d5d11c51218b1318f67136e036612e86dc06241279804ed341000940b6bd965adc6711a21f187c532f1381efe51fd18cca0b4205
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/CHANGELOG.md
CHANGED
@@ -4,6 +4,7 @@
|
|
4
4
|
- **[Feature]** Oauthbearer token refresh callback (bruce-szalwinski-he)
|
5
5
|
- **[Feature]** Support incremental config describe + alter API (mensfeld)
|
6
6
|
- [Enhancement] Replace time poll based wait engine with an event based to improve response times on blocking operations and wait (nijikon + mensfeld)
|
7
|
+
- [Enhancement] Allow for usage of the second regex engine of librdkafka by setting `RDKAFKA_DISABLE_REGEX_EXT` during build (mensfeld)
|
7
8
|
- [Change] The `wait_timeout` argument in `AbstractHandle.wait` method is deprecated and will be removed in future versions without replacement. We don't rely on it's value anymore (nijikon)
|
8
9
|
|
9
10
|
## 0.14.10 (2024-02-08)
|
data/ext/Rakefile
CHANGED
@@ -27,6 +27,14 @@ task :default => :clean do
|
|
27
27
|
:sha256 => Rdkafka::LIBRDKAFKA_SOURCE_SHA256
|
28
28
|
}
|
29
29
|
recipe.configure_options = ["--host=#{recipe.host}"]
|
30
|
+
|
31
|
+
# Disable using libc regex engine in favor of the embedded one
|
32
|
+
# The default regex engine of librdkafka does not always work exactly as most of the users
|
33
|
+
# would expect, hence this flag allows for changing it to the other one
|
34
|
+
if ENV.key?('RDKAFKA_DISABLE_REGEX_EXT')
|
35
|
+
recipe.configure_options << '--disable-regex-ext'
|
36
|
+
end
|
37
|
+
|
30
38
|
recipe.cook
|
31
39
|
# Move dynamic library we're interested in
|
32
40
|
if recipe.host.include?('darwin')
|
data/lib/rdkafka/config.rb
CHANGED
@@ -214,6 +214,8 @@ module Rdkafka
|
|
214
214
|
# Redirect the main queue to the consumer queue
|
215
215
|
Rdkafka::Bindings.rd_kafka_poll_set_consumer(kafka) if @consumer_poll_set
|
216
216
|
|
217
|
+
yield(kafka, Rdkafka::Bindings.rd_kafka_name(kafka)) if block_given?
|
218
|
+
|
217
219
|
# Return consumer with Kafka client
|
218
220
|
Rdkafka::Consumer.new(
|
219
221
|
Rdkafka::NativeKafka.new(
|
@@ -239,9 +241,13 @@ module Rdkafka
|
|
239
241
|
Rdkafka::Bindings.rd_kafka_conf_set_dr_msg_cb(config, Rdkafka::Callbacks::DeliveryCallbackFunction)
|
240
242
|
# Return producer with Kafka client
|
241
243
|
partitioner_name = self[:partitioner] || self["partitioner"]
|
244
|
+
|
245
|
+
kafka = native_kafka(config, :rd_kafka_producer)
|
246
|
+
yield(kafka, Rdkafka::Bindings.rd_kafka_name(kafka)) if block_given?
|
247
|
+
|
242
248
|
Rdkafka::Producer.new(
|
243
249
|
Rdkafka::NativeKafka.new(
|
244
|
-
|
250
|
+
kafka,
|
245
251
|
run_polling_thread: true,
|
246
252
|
opaque: opaque
|
247
253
|
),
|
@@ -261,9 +267,13 @@ module Rdkafka
|
|
261
267
|
opaque = Opaque.new
|
262
268
|
config = native_config(opaque)
|
263
269
|
Rdkafka::Bindings.rd_kafka_conf_set_background_event_cb(config, Rdkafka::Callbacks::BackgroundEventCallbackFunction)
|
270
|
+
|
271
|
+
kafka = native_kafka(config, :rd_kafka_producer)
|
272
|
+
yield(kafka, Rdkafka::Bindings.rd_kafka_name(kafka)) if block_given?
|
273
|
+
|
264
274
|
Rdkafka::Admin.new(
|
265
275
|
Rdkafka::NativeKafka.new(
|
266
|
-
|
276
|
+
kafka,
|
267
277
|
run_polling_thread: true,
|
268
278
|
opaque: opaque
|
269
279
|
)
|
@@ -12,19 +12,30 @@ 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
|
-
|
16
|
-
|
15
|
+
|
16
|
+
response = @native_kafka.with_inner do |inner|
|
17
|
+
Rdkafka::Bindings.rd_kafka_oauthbearer_set_token(
|
17
18
|
inner, token, lifetime_ms, principal_name,
|
18
19
|
flatten_extensions(extensions), extension_size(extensions), error_buffer, 256
|
19
20
|
)
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
21
|
+
end
|
22
|
+
|
23
|
+
return response if response.zero?
|
24
|
+
|
25
|
+
oauthbearer_set_token_failure("Failed to set token: #{error_buffer.read_string}")
|
26
|
+
|
27
|
+
response
|
28
|
+
end
|
29
|
+
|
30
|
+
# Marks failed oauth token acquire in librdkafka
|
31
|
+
#
|
32
|
+
# @param reason [String] human readable error reason for failing to acquire token
|
33
|
+
def oauthbearer_set_token_failure(reason)
|
34
|
+
@native_kafka.with_inner do |inner|
|
35
|
+
Rdkafka::Bindings.rd_kafka_oauthbearer_set_token_failure(
|
36
|
+
inner,
|
37
|
+
reason
|
38
|
+
)
|
28
39
|
end
|
29
40
|
end
|
30
41
|
|
data/lib/rdkafka/version.rb
CHANGED
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.15.0.
|
4
|
+
version: 0.15.0.beta2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Thijs Cadier
|
@@ -36,7 +36,7 @@ cert_chain:
|
|
36
36
|
AnG1dJU+yL2BK7vaVytLTstJME5mepSZ46qqIJXMuWob/YPDmVaBF39TDSG9e34s
|
37
37
|
msG3BiCqgOgHAnL23+CN3Rt8MsuRfEtoTKpJVcCfoEoNHOkc
|
38
38
|
-----END CERTIFICATE-----
|
39
|
-
date: 2024-03-
|
39
|
+
date: 2024-03-23 00:00:00.000000000 Z
|
40
40
|
dependencies:
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: ffi
|
metadata.gz.sig
CHANGED
Binary file
|