karafka-rdkafka 0.26.0-aarch64-linux-gnu → 0.26.1-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 +3 -0
- data/README.md +1 -1
- data/ext/librdkafka.so +0 -0
- data/lib/rdkafka/bindings.rb +3 -0
- data/lib/rdkafka/config.rb +40 -0
- data/lib/rdkafka/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a435733d9fee98c645fb787d72bf367708827b890d00858c247fb1f56e3b9a7e
|
|
4
|
+
data.tar.gz: a297c932f096bb9b86f756eed38cd57872857b3964d9fb35ea531c80cb076a9f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 6119ccf54d991f536f73d95aecb0c96849f724500696ba30657f7338c6a39705cc1c5bedfa6a7b2fd692fd2dec0aa0c3910d13917d82152c43bf75895bd91424
|
|
7
|
+
data.tar.gz: c73a1eb6a70d059927ae6fdbf1a35f7f3c2a3be719d8301b7f0e15ea39e9185cead70cb966b5cea742953103c7861c0c66ce3949aa2c9b91d03fa22c519fa5e2
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
# Rdkafka Changelog
|
|
2
2
|
|
|
3
|
+
## 0.26.1 (2026-04-13)
|
|
4
|
+
- [Feature] Add `Config#describe_properties` to dump all librdkafka configuration properties (including defaults and hidden properties) as a Hash via `rd_kafka_conf_dump` (from upstream).
|
|
5
|
+
|
|
3
6
|
## 0.26.0 (2026-04-11)
|
|
4
7
|
- [Enhancement] Bump librdkafka to `2.14.0`.
|
|
5
8
|
- [Enhancement] Add `advertised.listeners` to macOS ARM64 CI KRaft broker config to fix flaky tests (from upstream).
|
data/README.md
CHANGED
|
@@ -31,7 +31,7 @@ This fork is actively maintained and kept in sync with the upstream rdkafka-ruby
|
|
|
31
31
|
|
|
32
32
|
## Long-term Plan
|
|
33
33
|
|
|
34
|
-
|
|
34
|
+
The goal is to eventually merge the beneficial changes back upstream. This would allow to:
|
|
35
35
|
|
|
36
36
|
- Reduce maintenance overhead
|
|
37
37
|
- Benefit the broader Ruby Kafka community
|
data/ext/librdkafka.so
CHANGED
|
Binary file
|
data/lib/rdkafka/bindings.rb
CHANGED
|
@@ -242,6 +242,9 @@ module Rdkafka
|
|
|
242
242
|
|
|
243
243
|
attach_function :rd_kafka_conf_new, [], :pointer
|
|
244
244
|
attach_function :rd_kafka_conf_set, [:pointer, :string, :string, :pointer, :int], :kafka_config_response
|
|
245
|
+
attach_function :rd_kafka_conf_dump, [:pointer, :pointer], :pointer
|
|
246
|
+
attach_function :rd_kafka_conf_dump_free, [:pointer, :size_t], :void
|
|
247
|
+
attach_function :rd_kafka_conf_destroy, [:pointer], :void
|
|
245
248
|
callback :log_cb, [:pointer, :int, :string, :string], :void
|
|
246
249
|
attach_function :rd_kafka_conf_set_log_cb, [:pointer, :log_cb], :void
|
|
247
250
|
attach_function :rd_kafka_conf_set_opaque, [:pointer, :pointer], :void
|
data/lib/rdkafka/config.rb
CHANGED
|
@@ -285,6 +285,46 @@ module Rdkafka
|
|
|
285
285
|
)
|
|
286
286
|
end
|
|
287
287
|
|
|
288
|
+
# Returns all configuration properties and their current values for this config.
|
|
289
|
+
#
|
|
290
|
+
# Uses `rd_kafka_conf_dump` to retrieve every property (including defaults and
|
|
291
|
+
# internal properties like `client.software.name`) as a flat Hash.
|
|
292
|
+
#
|
|
293
|
+
# @note The librdkafka C API does not distinguish between producer-only, consumer-only,
|
|
294
|
+
# and global properties at the configuration level. All properties are returned
|
|
295
|
+
# regardless of the intended client type.
|
|
296
|
+
#
|
|
297
|
+
# @note The returned Hash may include sensitive values such as authentication
|
|
298
|
+
# credentials and key passwords. Do not log or serialize the returned data
|
|
299
|
+
# unless you have explicitly redacted secret entries.
|
|
300
|
+
#
|
|
301
|
+
# @return [Hash{Symbol => String}] property names mapped to their current values
|
|
302
|
+
#
|
|
303
|
+
# @raise [ConfigError] When the configuration contains invalid options
|
|
304
|
+
def describe_properties
|
|
305
|
+
config = nil
|
|
306
|
+
dump_ptr = nil
|
|
307
|
+
count = 0
|
|
308
|
+
|
|
309
|
+
config = native_config
|
|
310
|
+
count_ptr = Rdkafka::Bindings::SizePtr.new
|
|
311
|
+
dump_ptr = Rdkafka::Bindings.rd_kafka_conf_dump(config, count_ptr)
|
|
312
|
+
|
|
313
|
+
count = count_ptr[:value]
|
|
314
|
+
result = {}
|
|
315
|
+
|
|
316
|
+
(0...count).step(2) do |i|
|
|
317
|
+
key = dump_ptr.get_pointer(i * FFI::Pointer.size).read_string
|
|
318
|
+
value = dump_ptr.get_pointer((i + 1) * FFI::Pointer.size).read_string
|
|
319
|
+
result[key.to_sym] = value
|
|
320
|
+
end
|
|
321
|
+
|
|
322
|
+
result
|
|
323
|
+
ensure
|
|
324
|
+
Rdkafka::Bindings.rd_kafka_conf_dump_free(dump_ptr, count) if dump_ptr
|
|
325
|
+
Rdkafka::Bindings.rd_kafka_conf_destroy(config) if config
|
|
326
|
+
end
|
|
327
|
+
|
|
288
328
|
# Error that is returned by the underlying rdkafka error if an invalid configuration option is present.
|
|
289
329
|
class ConfigError < RuntimeError; end
|
|
290
330
|
|
data/lib/rdkafka/version.rb
CHANGED