karafka-rdkafka 0.20.1-arm64-darwin → 0.21.0-arm64-darwin

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.
Files changed (69) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/{ci_linux_x86_64_musl.yml → ci_linux_alpine_x86_64_musl.yml} +12 -9
  3. data/.github/workflows/ci_linux_alpine_x86_64_musl_complementary.yml +264 -0
  4. data/.github/workflows/ci_linux_debian_x86_64_gnu.yml +271 -0
  5. data/.github/workflows/ci_linux_debian_x86_64_gnu_complementary.yml +334 -0
  6. data/.github/workflows/{ci_linux_x86_64_gnu.yml → ci_linux_ubuntu_aarch64_gnu.yml} +15 -15
  7. data/.github/workflows/ci_linux_ubuntu_aarch64_gnu_complementary.yml +295 -0
  8. data/.github/workflows/ci_linux_ubuntu_x86_64_gnu.yml +281 -0
  9. data/.github/workflows/ci_linux_ubuntu_x86_64_gnu_complementary.yml +294 -0
  10. data/.github/workflows/ci_macos_arm64.yml +5 -5
  11. data/.github/workflows/push_linux_aarch64_gnu.yml +65 -0
  12. data/.github/workflows/push_linux_x86_64_gnu.yml +2 -2
  13. data/.github/workflows/push_linux_x86_64_musl.yml +3 -3
  14. data/.github/workflows/push_macos_arm64.yml +2 -2
  15. data/.github/workflows/push_ruby.yml +1 -1
  16. data/.github/workflows/trigger-wiki-refresh.yml +30 -0
  17. data/.github/workflows/verify-action-pins.yml +1 -1
  18. data/.gitignore +1 -0
  19. data/.rspec +1 -0
  20. data/CHANGELOG.md +9 -0
  21. data/README.md +48 -147
  22. data/dist/cyrus-sasl-2.1.28.tar.gz +0 -0
  23. data/dist/krb5-1.21.3.tar.gz +0 -0
  24. data/dist/openssl-3.0.16.tar.gz +0 -0
  25. data/dist/zlib-1.3.1.tar.gz +0 -0
  26. data/dist/zstd-1.5.7.tar.gz +0 -0
  27. data/docker-compose-ssl.yml +35 -0
  28. data/ext/build_common.sh +18 -3
  29. data/ext/build_linux_aarch64_gnu.sh +326 -0
  30. data/ext/build_linux_x86_64_gnu.sh +12 -1
  31. data/ext/build_linux_x86_64_musl.sh +18 -8
  32. data/ext/build_macos_arm64.sh +7 -0
  33. data/ext/generate-ssl-certs.sh +109 -0
  34. data/ext/librdkafka.dylib +0 -0
  35. data/karafka-rdkafka.gemspec +2 -0
  36. data/lib/rdkafka/bindings.rb +0 -1
  37. data/lib/rdkafka/config.rb +1 -4
  38. data/lib/rdkafka/consumer.rb +1 -1
  39. data/lib/rdkafka/version.rb +3 -3
  40. data/spec/integrations/ssl_stress_spec.rb +121 -0
  41. data/spec/{rdkafka → lib/rdkafka}/admin_spec.rb +17 -5
  42. data/spec/{rdkafka → lib/rdkafka}/config_spec.rb +1 -1
  43. data/spec/{rdkafka → lib/rdkafka}/consumer_spec.rb +50 -3
  44. data/spec/{rdkafka → lib/rdkafka}/metadata_spec.rb +2 -2
  45. data/spec/{rdkafka → lib/rdkafka}/producer/delivery_report_spec.rb +1 -1
  46. data/spec/{rdkafka → lib/rdkafka}/producer_spec.rb +6 -7
  47. data/spec/spec_helper.rb +45 -10
  48. metadata +76 -31
  49. /data/spec/{rdkafka → lib/rdkafka}/abstract_handle_spec.rb +0 -0
  50. /data/spec/{rdkafka → lib/rdkafka}/admin/create_acl_handle_spec.rb +0 -0
  51. /data/spec/{rdkafka → lib/rdkafka}/admin/create_acl_report_spec.rb +0 -0
  52. /data/spec/{rdkafka → lib/rdkafka}/admin/create_topic_handle_spec.rb +0 -0
  53. /data/spec/{rdkafka → lib/rdkafka}/admin/create_topic_report_spec.rb +0 -0
  54. /data/spec/{rdkafka → lib/rdkafka}/admin/delete_acl_handle_spec.rb +0 -0
  55. /data/spec/{rdkafka → lib/rdkafka}/admin/delete_acl_report_spec.rb +0 -0
  56. /data/spec/{rdkafka → lib/rdkafka}/admin/delete_topic_handle_spec.rb +0 -0
  57. /data/spec/{rdkafka → lib/rdkafka}/admin/delete_topic_report_spec.rb +0 -0
  58. /data/spec/{rdkafka → lib/rdkafka}/admin/describe_acl_handle_spec.rb +0 -0
  59. /data/spec/{rdkafka → lib/rdkafka}/admin/describe_acl_report_spec.rb +0 -0
  60. /data/spec/{rdkafka → lib/rdkafka}/bindings_spec.rb +0 -0
  61. /data/spec/{rdkafka → lib/rdkafka}/callbacks_spec.rb +0 -0
  62. /data/spec/{rdkafka → lib/rdkafka}/consumer/headers_spec.rb +0 -0
  63. /data/spec/{rdkafka → lib/rdkafka}/consumer/message_spec.rb +0 -0
  64. /data/spec/{rdkafka → lib/rdkafka}/consumer/partition_spec.rb +0 -0
  65. /data/spec/{rdkafka → lib/rdkafka}/consumer/topic_partition_list_spec.rb +0 -0
  66. /data/spec/{rdkafka → lib/rdkafka}/error_spec.rb +0 -0
  67. /data/spec/{rdkafka → lib/rdkafka}/native_kafka_spec.rb +0 -0
  68. /data/spec/{rdkafka → lib/rdkafka}/producer/delivery_handle_spec.rb +0 -0
  69. /data/spec/{rdkafka → lib/rdkafka}/producer/partitions_count_cache_spec.rb +0 -0
data/spec/spec_helper.rb CHANGED
@@ -1,5 +1,19 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ Warning[:performance] = true if RUBY_VERSION >= '3.3'
4
+ Warning[:deprecated] = true
5
+ $VERBOSE = true
6
+
7
+ require 'warning'
8
+
9
+ Warning.process do |warning|
10
+ next unless warning.include?(Dir.pwd)
11
+ # Allow OpenStruct usage only in specs
12
+ next if warning.include?('OpenStruct use') && warning.include?('_spec')
13
+
14
+ raise "Warning in your code: #{warning}"
15
+ end
16
+
3
17
  unless ENV["CI"] == "true"
4
18
  require "simplecov"
5
19
  SimpleCov.start do
@@ -14,14 +28,25 @@ require "timeout"
14
28
  require "securerandom"
15
29
 
16
30
  def rdkafka_base_config
17
- {
18
- :"api.version.request" => false,
19
- :"broker.version.fallback" => "1.0",
20
- :"bootstrap.servers" => "127.0.0.1:9092",
21
- # Display statistics and refresh often just to cover those in specs
22
- :'statistics.interval.ms' => 1_000,
23
- :'topic.metadata.refresh.interval.ms' => 1_000
24
- }
31
+ if ENV['KAFKA_SSL_ENABLED'] == 'true'
32
+ {
33
+ :"bootstrap.servers" => "localhost:9093",
34
+ # Display statistics and refresh often just to cover those in specs
35
+ :'statistics.interval.ms' => 1_000,
36
+ :'topic.metadata.refresh.interval.ms' => 1_000,
37
+ # SSL Configuration
38
+ :'security.protocol' => 'SSL',
39
+ :'ssl.ca.location' => './ssl/ca-cert',
40
+ :'ssl.endpoint.identification.algorithm' => 'none'
41
+ }
42
+ else
43
+ {
44
+ :"bootstrap.servers" => "localhost:9092",
45
+ # Display statistics and refresh often just to cover those in specs
46
+ :'statistics.interval.ms' => 1_000,
47
+ :'topic.metadata.refresh.interval.ms' => 1_000
48
+ }
49
+ end
25
50
  end
26
51
 
27
52
  def rdkafka_config(config_overrides={})
@@ -124,6 +149,16 @@ def wait_for_unassignment(consumer)
124
149
  end
125
150
  end
126
151
 
152
+ def wait_for_topic(admin, topic)
153
+ admin.metadata(topic)
154
+ rescue Rdkafka::RdkafkaError => e
155
+ raise unless e.code == :unknown_topic_or_part
156
+
157
+ sleep(0.5)
158
+
159
+ retry
160
+ end
161
+
127
162
  def notify_listener(listener, &block)
128
163
  # 1. subscribe and poll
129
164
  consumer.subscribe("consume_test_topic")
@@ -171,9 +206,9 @@ RSpec.configure do |config|
171
206
  end
172
207
 
173
208
  config.around(:each) do |example|
174
- # Timeout specs after a minute. If they take longer
209
+ # Timeout specs after 1.5 minute. If they take longer
175
210
  # they are probably stuck
176
- Timeout::timeout(60) do
211
+ Timeout::timeout(90) do
177
212
  example.run
178
213
  end
179
214
  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.20.1
4
+ version: 0.21.0
5
5
  platform: arm64-darwin
6
6
  authors:
7
7
  - Thijs Cadier
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.15'
27
+ - !ruby/object:Gem::Dependency
28
+ name: json
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">"
32
+ - !ruby/object:Gem::Version
33
+ version: '2.0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">"
39
+ - !ruby/object:Gem::Version
40
+ version: '2.0'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: logger
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -136,6 +150,20 @@ dependencies:
136
150
  - - ">="
137
151
  - !ruby/object:Gem::Version
138
152
  version: '0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: warning
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
139
167
  description: Modern Kafka client library for Ruby based on librdkafka
140
168
  email:
141
169
  - contact@karafka.io
@@ -145,13 +173,21 @@ extra_rdoc_files: []
145
173
  files:
146
174
  - ".github/CODEOWNERS"
147
175
  - ".github/FUNDING.yml"
148
- - ".github/workflows/ci_linux_x86_64_gnu.yml"
149
- - ".github/workflows/ci_linux_x86_64_musl.yml"
176
+ - ".github/workflows/ci_linux_alpine_x86_64_musl.yml"
177
+ - ".github/workflows/ci_linux_alpine_x86_64_musl_complementary.yml"
178
+ - ".github/workflows/ci_linux_debian_x86_64_gnu.yml"
179
+ - ".github/workflows/ci_linux_debian_x86_64_gnu_complementary.yml"
180
+ - ".github/workflows/ci_linux_ubuntu_aarch64_gnu.yml"
181
+ - ".github/workflows/ci_linux_ubuntu_aarch64_gnu_complementary.yml"
182
+ - ".github/workflows/ci_linux_ubuntu_x86_64_gnu.yml"
183
+ - ".github/workflows/ci_linux_ubuntu_x86_64_gnu_complementary.yml"
150
184
  - ".github/workflows/ci_macos_arm64.yml"
185
+ - ".github/workflows/push_linux_aarch64_gnu.yml"
151
186
  - ".github/workflows/push_linux_x86_64_gnu.yml"
152
187
  - ".github/workflows/push_linux_x86_64_musl.yml"
153
188
  - ".github/workflows/push_macos_arm64.yml"
154
189
  - ".github/workflows/push_ruby.yml"
190
+ - ".github/workflows/trigger-wiki-refresh.yml"
155
191
  - ".github/workflows/verify-action-pins.yml"
156
192
  - ".gitignore"
157
193
  - ".rspec"
@@ -163,13 +199,21 @@ files:
163
199
  - MIT-LICENSE
164
200
  - README.md
165
201
  - Rakefile
202
+ - dist/cyrus-sasl-2.1.28.tar.gz
203
+ - dist/krb5-1.21.3.tar.gz
204
+ - dist/openssl-3.0.16.tar.gz
205
+ - dist/zlib-1.3.1.tar.gz
206
+ - dist/zstd-1.5.7.tar.gz
207
+ - docker-compose-ssl.yml
166
208
  - docker-compose.yml
167
209
  - ext/README.md
168
210
  - ext/Rakefile
169
211
  - ext/build_common.sh
212
+ - ext/build_linux_aarch64_gnu.sh
170
213
  - ext/build_linux_x86_64_gnu.sh
171
214
  - ext/build_linux_x86_64_musl.sh
172
215
  - ext/build_macos_arm64.sh
216
+ - ext/generate-ssl-certs.sh
173
217
  - ext/librdkafka.dylib
174
218
  - karafka-rdkafka.gemspec
175
219
  - lib/rdkafka.rb
@@ -215,33 +259,34 @@ files:
215
259
  - lib/rdkafka/producer/partitions_count_cache.rb
216
260
  - lib/rdkafka/version.rb
217
261
  - renovate.json
218
- - spec/rdkafka/abstract_handle_spec.rb
219
- - spec/rdkafka/admin/create_acl_handle_spec.rb
220
- - spec/rdkafka/admin/create_acl_report_spec.rb
221
- - spec/rdkafka/admin/create_topic_handle_spec.rb
222
- - spec/rdkafka/admin/create_topic_report_spec.rb
223
- - spec/rdkafka/admin/delete_acl_handle_spec.rb
224
- - spec/rdkafka/admin/delete_acl_report_spec.rb
225
- - spec/rdkafka/admin/delete_topic_handle_spec.rb
226
- - spec/rdkafka/admin/delete_topic_report_spec.rb
227
- - spec/rdkafka/admin/describe_acl_handle_spec.rb
228
- - spec/rdkafka/admin/describe_acl_report_spec.rb
229
- - spec/rdkafka/admin_spec.rb
230
- - spec/rdkafka/bindings_spec.rb
231
- - spec/rdkafka/callbacks_spec.rb
232
- - spec/rdkafka/config_spec.rb
233
- - spec/rdkafka/consumer/headers_spec.rb
234
- - spec/rdkafka/consumer/message_spec.rb
235
- - spec/rdkafka/consumer/partition_spec.rb
236
- - spec/rdkafka/consumer/topic_partition_list_spec.rb
237
- - spec/rdkafka/consumer_spec.rb
238
- - spec/rdkafka/error_spec.rb
239
- - spec/rdkafka/metadata_spec.rb
240
- - spec/rdkafka/native_kafka_spec.rb
241
- - spec/rdkafka/producer/delivery_handle_spec.rb
242
- - spec/rdkafka/producer/delivery_report_spec.rb
243
- - spec/rdkafka/producer/partitions_count_cache_spec.rb
244
- - spec/rdkafka/producer_spec.rb
262
+ - spec/integrations/ssl_stress_spec.rb
263
+ - spec/lib/rdkafka/abstract_handle_spec.rb
264
+ - spec/lib/rdkafka/admin/create_acl_handle_spec.rb
265
+ - spec/lib/rdkafka/admin/create_acl_report_spec.rb
266
+ - spec/lib/rdkafka/admin/create_topic_handle_spec.rb
267
+ - spec/lib/rdkafka/admin/create_topic_report_spec.rb
268
+ - spec/lib/rdkafka/admin/delete_acl_handle_spec.rb
269
+ - spec/lib/rdkafka/admin/delete_acl_report_spec.rb
270
+ - spec/lib/rdkafka/admin/delete_topic_handle_spec.rb
271
+ - spec/lib/rdkafka/admin/delete_topic_report_spec.rb
272
+ - spec/lib/rdkafka/admin/describe_acl_handle_spec.rb
273
+ - spec/lib/rdkafka/admin/describe_acl_report_spec.rb
274
+ - spec/lib/rdkafka/admin_spec.rb
275
+ - spec/lib/rdkafka/bindings_spec.rb
276
+ - spec/lib/rdkafka/callbacks_spec.rb
277
+ - spec/lib/rdkafka/config_spec.rb
278
+ - spec/lib/rdkafka/consumer/headers_spec.rb
279
+ - spec/lib/rdkafka/consumer/message_spec.rb
280
+ - spec/lib/rdkafka/consumer/partition_spec.rb
281
+ - spec/lib/rdkafka/consumer/topic_partition_list_spec.rb
282
+ - spec/lib/rdkafka/consumer_spec.rb
283
+ - spec/lib/rdkafka/error_spec.rb
284
+ - spec/lib/rdkafka/metadata_spec.rb
285
+ - spec/lib/rdkafka/native_kafka_spec.rb
286
+ - spec/lib/rdkafka/producer/delivery_handle_spec.rb
287
+ - spec/lib/rdkafka/producer/delivery_report_spec.rb
288
+ - spec/lib/rdkafka/producer/partitions_count_cache_spec.rb
289
+ - spec/lib/rdkafka/producer_spec.rb
245
290
  - spec/spec_helper.rb
246
291
  licenses:
247
292
  - MIT
@@ -267,7 +312,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
267
312
  - !ruby/object:Gem::Version
268
313
  version: '0'
269
314
  requirements: []
270
- rubygems_version: 3.6.7
315
+ rubygems_version: 3.6.9
271
316
  specification_version: 4
272
317
  summary: The rdkafka gem is a modern Kafka client library for Ruby based on librdkafka.
273
318
  It wraps the production-ready C client using the ffi gem and targets Kafka 1.0+
File without changes
File without changes
File without changes
File without changes