karafka-rdkafka 0.23.1.rc1-x86_64-linux-musl → 0.23.1.rc2-x86_64-linux-musl
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/ext/librdkafka.so +0 -0
- data/lib/rdkafka/admin.rb +8 -8
- data/lib/rdkafka/bindings.rb +35 -3
- data/lib/rdkafka/callbacks.rb +1 -1
- data/lib/rdkafka/consumer/topic_partition_list.rb +2 -2
- data/lib/rdkafka/error.rb +3 -0
- data/lib/rdkafka/producer.rb +3 -3
- 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: a6f31e18d04445df9aa5b943c1378ab89480d827acaaa2852810b9cf43498bfd
|
|
4
|
+
data.tar.gz: 9630fb2bcaa8df3fe3746bff3132d9c7b8232afce58b27283ba8ee651d1b99f6
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1c0aae90982f3c0ba697561db62af25b4bb49fb5111a398106f93f56a7941ac984e1ee5920785ee547de4b54207729c41398c2f5776b7c91234a45784ee53cb3
|
|
7
|
+
data.tar.gz: 8dc2d2f647224054a55b6df9d0edbd4bff5d81074b7f2a4b5c72ec64a09be21b0ffacf47b7756f4ee05a57e42e6370cf825acda8a0c1ecd629dd5ff30aedf536
|
data/ext/librdkafka.so
CHANGED
|
Binary file
|
data/lib/rdkafka/admin.rb
CHANGED
|
@@ -149,7 +149,7 @@ module Rdkafka
|
|
|
149
149
|
# Create and register the handle we will return to the caller
|
|
150
150
|
create_topic_handle = CreateTopicHandle.new
|
|
151
151
|
create_topic_handle[:pending] = true
|
|
152
|
-
create_topic_handle[:response] =
|
|
152
|
+
create_topic_handle[:response] = Rdkafka::Bindings::RD_KAFKA_PARTITION_UA
|
|
153
153
|
CreateTopicHandle.register(create_topic_handle)
|
|
154
154
|
admin_options_ptr = @native_kafka.with_inner do |inner|
|
|
155
155
|
Rdkafka::Bindings.rd_kafka_AdminOptions_new(inner, Rdkafka::Bindings::RD_KAFKA_ADMIN_OP_CREATETOPICS)
|
|
@@ -202,7 +202,7 @@ module Rdkafka
|
|
|
202
202
|
# Create and register the handle we will return to the caller
|
|
203
203
|
delete_groups_handle = DeleteGroupsHandle.new
|
|
204
204
|
delete_groups_handle[:pending] = true
|
|
205
|
-
delete_groups_handle[:response] =
|
|
205
|
+
delete_groups_handle[:response] = Rdkafka::Bindings::RD_KAFKA_PARTITION_UA
|
|
206
206
|
DeleteGroupsHandle.register(delete_groups_handle)
|
|
207
207
|
admin_options_ptr = @native_kafka.with_inner do |inner|
|
|
208
208
|
Rdkafka::Bindings.rd_kafka_AdminOptions_new(inner, Rdkafka::Bindings::RD_KAFKA_ADMIN_OP_DELETETOPICS)
|
|
@@ -259,7 +259,7 @@ module Rdkafka
|
|
|
259
259
|
# Create and register the handle we will return to the caller
|
|
260
260
|
delete_topic_handle = DeleteTopicHandle.new
|
|
261
261
|
delete_topic_handle[:pending] = true
|
|
262
|
-
delete_topic_handle[:response] =
|
|
262
|
+
delete_topic_handle[:response] = Rdkafka::Bindings::RD_KAFKA_PARTITION_UA
|
|
263
263
|
DeleteTopicHandle.register(delete_topic_handle)
|
|
264
264
|
admin_options_ptr = @native_kafka.with_inner do |inner|
|
|
265
265
|
Rdkafka::Bindings.rd_kafka_AdminOptions_new(inner, Rdkafka::Bindings::RD_KAFKA_ADMIN_OP_DELETETOPICS)
|
|
@@ -427,7 +427,7 @@ module Rdkafka
|
|
|
427
427
|
# Create and register the handle that we will return to the caller
|
|
428
428
|
create_acl_handle = CreateAclHandle.new
|
|
429
429
|
create_acl_handle[:pending] = true
|
|
430
|
-
create_acl_handle[:response] =
|
|
430
|
+
create_acl_handle[:response] = Rdkafka::Bindings::RD_KAFKA_PARTITION_UA
|
|
431
431
|
CreateAclHandle.register(create_acl_handle)
|
|
432
432
|
|
|
433
433
|
admin_options_ptr = @native_kafka.with_inner do |inner|
|
|
@@ -534,7 +534,7 @@ module Rdkafka
|
|
|
534
534
|
# Create and register the handle that we will return to the caller
|
|
535
535
|
delete_acl_handle = DeleteAclHandle.new
|
|
536
536
|
delete_acl_handle[:pending] = true
|
|
537
|
-
delete_acl_handle[:response] =
|
|
537
|
+
delete_acl_handle[:response] = Rdkafka::Bindings::RD_KAFKA_PARTITION_UA
|
|
538
538
|
DeleteAclHandle.register(delete_acl_handle)
|
|
539
539
|
|
|
540
540
|
admin_options_ptr = @native_kafka.with_inner do |inner|
|
|
@@ -634,7 +634,7 @@ module Rdkafka
|
|
|
634
634
|
# Create and register the handle that we will return to the caller
|
|
635
635
|
describe_acl_handle = DescribeAclHandle.new
|
|
636
636
|
describe_acl_handle[:pending] = true
|
|
637
|
-
describe_acl_handle[:response] =
|
|
637
|
+
describe_acl_handle[:response] = Rdkafka::Bindings::RD_KAFKA_PARTITION_UA
|
|
638
638
|
DescribeAclHandle.register(describe_acl_handle)
|
|
639
639
|
|
|
640
640
|
admin_options_ptr = @native_kafka.with_inner do |inner|
|
|
@@ -680,7 +680,7 @@ module Rdkafka
|
|
|
680
680
|
|
|
681
681
|
handle = DescribeConfigsHandle.new
|
|
682
682
|
handle[:pending] = true
|
|
683
|
-
handle[:response] =
|
|
683
|
+
handle[:response] = Rdkafka::Bindings::RD_KAFKA_PARTITION_UA
|
|
684
684
|
|
|
685
685
|
queue_ptr = @native_kafka.with_inner do |inner|
|
|
686
686
|
Rdkafka::Bindings.rd_kafka_queue_get_background(inner)
|
|
@@ -753,7 +753,7 @@ module Rdkafka
|
|
|
753
753
|
|
|
754
754
|
handle = IncrementalAlterConfigsHandle.new
|
|
755
755
|
handle[:pending] = true
|
|
756
|
-
handle[:response] =
|
|
756
|
+
handle[:response] = Rdkafka::Bindings::RD_KAFKA_PARTITION_UA
|
|
757
757
|
|
|
758
758
|
queue_ptr = @native_kafka.with_inner do |inner|
|
|
759
759
|
Rdkafka::Bindings.rd_kafka_queue_get_background(inner)
|
data/lib/rdkafka/bindings.rb
CHANGED
|
@@ -22,7 +22,39 @@ module Rdkafka
|
|
|
22
22
|
end
|
|
23
23
|
end
|
|
24
24
|
|
|
25
|
-
ffi_lib
|
|
25
|
+
# Wrap ffi_lib to provide better error messages for glibc compatibility issues
|
|
26
|
+
begin
|
|
27
|
+
ffi_lib File.join(__dir__, "../../ext/librdkafka.#{lib_extension}")
|
|
28
|
+
rescue LoadError => e
|
|
29
|
+
error_message = e.message
|
|
30
|
+
|
|
31
|
+
# Check if this is a glibc version mismatch error
|
|
32
|
+
if error_message =~ /GLIBC_[\d.]+['"` ]?\s*not found/i
|
|
33
|
+
glibc_version = error_message[/GLIBC_([\d.]+)/, 1] || 'unknown'
|
|
34
|
+
|
|
35
|
+
raise Rdkafka::LibraryLoadError, <<~ERROR_MSG.strip
|
|
36
|
+
Failed to load librdkafka due to glibc compatibility issue.
|
|
37
|
+
|
|
38
|
+
The precompiled librdkafka binary requires glibc version #{glibc_version} or higher,
|
|
39
|
+
but your system has an older version installed.
|
|
40
|
+
|
|
41
|
+
To resolve this issue, you have two options:
|
|
42
|
+
|
|
43
|
+
1. Upgrade your system to a supported platform (recommended)
|
|
44
|
+
|
|
45
|
+
2. Force compilation from source by reinstalling without the precompiled binary:
|
|
46
|
+
gem install rdkafka --platform=ruby
|
|
47
|
+
|
|
48
|
+
Or if using Bundler, add to your Gemfile:
|
|
49
|
+
gem 'rdkafka', force_ruby_platform: true
|
|
50
|
+
|
|
51
|
+
Original error: #{error_message}
|
|
52
|
+
ERROR_MSG
|
|
53
|
+
else
|
|
54
|
+
# Re-raise the original error if it's not a glibc issue
|
|
55
|
+
raise
|
|
56
|
+
end
|
|
57
|
+
end
|
|
26
58
|
|
|
27
59
|
RD_KAFKA_RESP_ERR__ASSIGN_PARTITIONS = -175
|
|
28
60
|
RD_KAFKA_RESP_ERR__REVOKE_PARTITIONS = -174
|
|
@@ -37,7 +69,7 @@ module Rdkafka
|
|
|
37
69
|
# Unassigned partition
|
|
38
70
|
RD_KAFKA_PARTITION_UA = -1
|
|
39
71
|
# String representation of unassigned partition (used in stats hash keys)
|
|
40
|
-
RD_KAFKA_PARTITION_UA_STR =
|
|
72
|
+
RD_KAFKA_PARTITION_UA_STR = RD_KAFKA_PARTITION_UA.to_s.freeze
|
|
41
73
|
|
|
42
74
|
RD_KAFKA_OFFSET_END = -1
|
|
43
75
|
RD_KAFKA_OFFSET_BEGINNING = -2
|
|
@@ -256,7 +288,7 @@ module Rdkafka
|
|
|
256
288
|
end
|
|
257
289
|
|
|
258
290
|
# Return 0 so librdkafka frees the json string
|
|
259
|
-
|
|
291
|
+
RD_KAFKA_RESP_ERR_NO_ERROR
|
|
260
292
|
end
|
|
261
293
|
|
|
262
294
|
# Retrieves fatal error details from a kafka client handle.
|
data/lib/rdkafka/callbacks.rb
CHANGED
|
@@ -28,7 +28,7 @@ module Rdkafka
|
|
|
28
28
|
native_error = Rdkafka::Bindings.rd_kafka_group_result_error(group_result_pointer)
|
|
29
29
|
|
|
30
30
|
if native_error.null?
|
|
31
|
-
@result_error =
|
|
31
|
+
@result_error = Rdkafka::Bindings::RD_KAFKA_RESP_ERR_NO_ERROR
|
|
32
32
|
@error_string = FFI::Pointer::NULL
|
|
33
33
|
else
|
|
34
34
|
@result_error = native_error[:code]
|
|
@@ -57,7 +57,7 @@ module Rdkafka
|
|
|
57
57
|
if partitions.is_a? Integer
|
|
58
58
|
partitions = (0..partitions - 1)
|
|
59
59
|
end
|
|
60
|
-
@data[topic.to_s] = partitions.map { |p| Partition.new(p, nil,
|
|
60
|
+
@data[topic.to_s] = partitions.map { |p| Partition.new(p, nil, Rdkafka::Bindings::RD_KAFKA_RESP_ERR_NO_ERROR) }
|
|
61
61
|
end
|
|
62
62
|
end
|
|
63
63
|
|
|
@@ -178,7 +178,7 @@ module Rdkafka
|
|
|
178
178
|
Rdkafka::Bindings.rd_kafka_topic_partition_list_add(
|
|
179
179
|
tpl,
|
|
180
180
|
topic,
|
|
181
|
-
|
|
181
|
+
Rdkafka::Bindings::RD_KAFKA_PARTITION_UA
|
|
182
182
|
)
|
|
183
183
|
end
|
|
184
184
|
end
|
data/lib/rdkafka/error.rb
CHANGED
data/lib/rdkafka/producer.rb
CHANGED
|
@@ -303,9 +303,9 @@ module Rdkafka
|
|
|
303
303
|
end
|
|
304
304
|
rescue Rdkafka::RdkafkaError => e
|
|
305
305
|
# If the topic does not exist, it will be created or if not allowed another error will be
|
|
306
|
-
# raised. We here return
|
|
307
|
-
# discovery.
|
|
308
|
-
return
|
|
306
|
+
# raised. We here return RD_KAFKA_PARTITION_UA so this can happen without early error
|
|
307
|
+
# happening on metadata discovery.
|
|
308
|
+
return Rdkafka::Bindings::RD_KAFKA_PARTITION_UA if e.code == :unknown_topic_or_part
|
|
309
309
|
|
|
310
310
|
raise(e)
|
|
311
311
|
end
|
data/lib/rdkafka/version.rb
CHANGED