rdkafka 0.13.0 → 0.15.0

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 (73) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +2 -0
  3. data/.github/FUNDING.yml +1 -0
  4. data/.github/workflows/ci.yml +58 -0
  5. data/.gitignore +4 -0
  6. data/.rspec +1 -0
  7. data/.ruby-gemset +1 -0
  8. data/.ruby-version +1 -0
  9. data/CHANGELOG.md +141 -111
  10. data/{LICENSE → MIT-LICENSE} +2 -1
  11. data/README.md +48 -39
  12. data/certs/cert_chain.pem +26 -0
  13. data/docker-compose.yml +18 -15
  14. data/ext/README.md +1 -1
  15. data/ext/Rakefile +1 -1
  16. data/lib/rdkafka/abstract_handle.rb +40 -26
  17. data/lib/rdkafka/admin/acl_binding_result.rb +37 -0
  18. data/lib/rdkafka/admin/create_acl_handle.rb +28 -0
  19. data/lib/rdkafka/admin/create_acl_report.rb +24 -0
  20. data/lib/rdkafka/admin/create_partitions_handle.rb +27 -0
  21. data/lib/rdkafka/admin/create_partitions_report.rb +6 -0
  22. data/lib/rdkafka/admin/delete_acl_handle.rb +30 -0
  23. data/lib/rdkafka/admin/delete_acl_report.rb +23 -0
  24. data/lib/rdkafka/admin/delete_groups_handle.rb +28 -0
  25. data/lib/rdkafka/admin/delete_groups_report.rb +24 -0
  26. data/lib/rdkafka/admin/describe_acl_handle.rb +30 -0
  27. data/lib/rdkafka/admin/describe_acl_report.rb +23 -0
  28. data/lib/rdkafka/admin.rb +449 -7
  29. data/lib/rdkafka/bindings.rb +127 -5
  30. data/lib/rdkafka/callbacks.rb +187 -0
  31. data/lib/rdkafka/config.rb +53 -19
  32. data/lib/rdkafka/consumer/headers.rb +2 -4
  33. data/lib/rdkafka/consumer/topic_partition_list.rb +11 -8
  34. data/lib/rdkafka/consumer.rb +134 -59
  35. data/lib/rdkafka/helpers/time.rb +14 -0
  36. data/lib/rdkafka/metadata.rb +22 -1
  37. data/lib/rdkafka/native_kafka.rb +6 -1
  38. data/lib/rdkafka/producer.rb +87 -9
  39. data/lib/rdkafka/version.rb +3 -3
  40. data/lib/rdkafka.rb +21 -1
  41. data/rdkafka.gemspec +17 -3
  42. data/renovate.json +6 -0
  43. data/spec/rdkafka/abstract_handle_spec.rb +0 -2
  44. data/spec/rdkafka/admin/create_acl_handle_spec.rb +56 -0
  45. data/spec/rdkafka/admin/create_acl_report_spec.rb +18 -0
  46. data/spec/rdkafka/admin/create_topic_handle_spec.rb +0 -2
  47. data/spec/rdkafka/admin/create_topic_report_spec.rb +0 -2
  48. data/spec/rdkafka/admin/delete_acl_handle_spec.rb +85 -0
  49. data/spec/rdkafka/admin/delete_acl_report_spec.rb +71 -0
  50. data/spec/rdkafka/admin/delete_topic_handle_spec.rb +0 -2
  51. data/spec/rdkafka/admin/delete_topic_report_spec.rb +0 -2
  52. data/spec/rdkafka/admin/describe_acl_handle_spec.rb +85 -0
  53. data/spec/rdkafka/admin/describe_acl_report_spec.rb +72 -0
  54. data/spec/rdkafka/admin_spec.rb +205 -2
  55. data/spec/rdkafka/bindings_spec.rb +0 -1
  56. data/spec/rdkafka/callbacks_spec.rb +0 -2
  57. data/spec/rdkafka/config_spec.rb +8 -2
  58. data/spec/rdkafka/consumer/headers_spec.rb +0 -2
  59. data/spec/rdkafka/consumer/message_spec.rb +0 -2
  60. data/spec/rdkafka/consumer/partition_spec.rb +0 -2
  61. data/spec/rdkafka/consumer/topic_partition_list_spec.rb +19 -2
  62. data/spec/rdkafka/consumer_spec.rb +212 -39
  63. data/spec/rdkafka/error_spec.rb +0 -2
  64. data/spec/rdkafka/metadata_spec.rb +2 -3
  65. data/spec/rdkafka/native_kafka_spec.rb +2 -3
  66. data/spec/rdkafka/producer/delivery_handle_spec.rb +0 -2
  67. data/spec/rdkafka/producer/delivery_report_spec.rb +0 -2
  68. data/spec/rdkafka/producer_spec.rb +157 -1
  69. data/spec/spec_helper.rb +3 -1
  70. data.tar.gz.sig +3 -0
  71. metadata +76 -13
  72. metadata.gz.sig +3 -0
  73. data/.semaphore/semaphore.yml +0 -27
data/spec/spec_helper.rb CHANGED
@@ -11,6 +11,7 @@ require "pry"
11
11
  require "rspec"
12
12
  require "rdkafka"
13
13
  require "timeout"
14
+ require "securerandom"
14
15
 
15
16
  def rdkafka_base_config
16
17
  {
@@ -35,7 +36,7 @@ def rdkafka_consumer_config(config_overrides={})
35
36
  # Add consumer specific fields to it
36
37
  config[:"auto.offset.reset"] = "earliest"
37
38
  config[:"enable.partition.eof"] = false
38
- config[:"group.id"] = "ruby-test-#{Random.new.rand(0..1_000_000)}"
39
+ config[:"group.id"] = "ruby-test-#{SecureRandom.uuid}"
39
40
  # Enable debug mode if required
40
41
  if ENV["DEBUG_CONSUMER"]
41
42
  config[:debug] = "cgrp,topic,fetch"
@@ -134,6 +135,7 @@ RSpec.configure do |config|
134
135
  rake_test_topic: 3,
135
136
  watermarks_test_topic: 3,
136
137
  partitioner_test_topic: 25,
138
+ example_topic: 1
137
139
  }.each do |topic, partitions|
138
140
  create_topic_handle = admin.create_topic(topic.to_s, partitions, 1)
139
141
  begin
data.tar.gz.sig ADDED
@@ -0,0 +1,3 @@
1
+ I��:z�mY0� �+��!vr��V��,g��,>���56�r��5���*Z�魇Q]##�)����y9��e\�w����^�F2ֲ�u�(7��u�A��(;]@���5��_��I�vF΀� ��&8���_�}2ܐ��.��F�=�f��V٭fI$<�1�M�8����C�o'2]�ŵg �6H��o_��B��|A�5F�Mx�J�N��k�)�Y��gC�r��"ib���sy>����Q��ڋCW9ڮo–z�
2
+ �k���q�q�������s�M&Y�4& �����+�]1�,Tf(DE
3
+ 9��U���"Ķ>�_g;��
metadata CHANGED
@@ -1,14 +1,41 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rdkafka
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.13.0
4
+ version: 0.15.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thijs Cadier
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
- cert_chain: []
11
- date: 2023-07-24 00:00:00.000000000 Z
10
+ cert_chain:
11
+ - |
12
+ -----BEGIN CERTIFICATE-----
13
+ MIIEcDCCAtigAwIBAgIBATANBgkqhkiG9w0BAQsFADA/MRAwDgYDVQQDDAdjb250
14
+ YWN0MRcwFQYKCZImiZPyLGQBGRYHa2FyYWZrYTESMBAGCgmSJomT8ixkARkWAmlv
15
+ MB4XDTIzMDgyMTA3MjU1NFoXDTI0MDgyMDA3MjU1NFowPzEQMA4GA1UEAwwHY29u
16
+ dGFjdDEXMBUGCgmSJomT8ixkARkWB2thcmFma2ExEjAQBgoJkiaJk/IsZAEZFgJp
17
+ bzCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBAOuZpyQKEwsTG9plLat7
18
+ 8bUaNuNBEnouTsNMr6X+XTgvyrAxTuocdsyP1sNCjdS1B8RiiDH1/Nt9qpvlBWon
19
+ sdJ1SYhaWNVfqiYStTDnCx3PRMmHRdD4KqUWKpN6VpZ1O/Zu+9Mw0COmvXgZuuO9
20
+ wMSJkXRo6dTCfMedLAIxjMeBIxtoLR2e6Jm6MR8+8WYYVWrO9kSOOt5eKQLBY7aK
21
+ b/Dc40EcJKPg3Z30Pia1M9ZyRlb6SOj6SKpHRqc7vbVQxjEw6Jjal1lZ49m3YZMd
22
+ ArMAs9lQZNdSw5/UX6HWWURLowg6k10RnhTUtYyzO9BFev0JFJftHnmuk8vtb+SD
23
+ 5VPmjFXg2VOcw0B7FtG75Vackk8QKfgVe3nSPhVpew2CSPlbJzH80wChbr19+e3+
24
+ YGr1tOiaJrL6c+PNmb0F31NXMKpj/r+n15HwlTMRxQrzFcgjBlxf2XFGnPQXHhBm
25
+ kp1OFnEq4GG9sON4glRldkwzi/f/fGcZmo5fm3d+0ZdNgwIDAQABo3cwdTAJBgNV
26
+ HRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUPVH5+dLA80A1kJ2Uz5iGwfOa
27
+ 1+swHQYDVR0RBBYwFIESY29udGFjdEBrYXJhZmthLmlvMB0GA1UdEgQWMBSBEmNv
28
+ bnRhY3RAa2FyYWZrYS5pbzANBgkqhkiG9w0BAQsFAAOCAYEAnpa0jcN7JzREHMTQ
29
+ bfZ+xcvlrzuROMY6A3zIZmQgbnoZZNuX4cMRrT1p1HuwXpxdpHPw7dDjYqWw3+1h
30
+ 3mXLeMuk7amjQpYoSWU/OIZMhIsARra22UN8qkkUlUj3AwTaChVKN/bPJOM2DzfU
31
+ kz9vUgLeYYFfQbZqeI6SsM7ltilRV4W8D9yNUQQvOxCFxtLOetJ00fC/E7zMUzbK
32
+ IBwYFQYsbI6XQzgAIPW6nGSYKgRhkfpmquXSNKZRIQ4V6bFrufa+DzD0bt2ZA3ah
33
+ fMmJguyb5L2Gf1zpDXzFSPMG7YQFLzwYz1zZZvOU7/UCpQsHpID/YxqDp4+Dgb+Y
34
+ qma0whX8UG/gXFV2pYWpYOfpatvahwi+A1TwPQsuZwkkhi1OyF1At3RY+hjSXyav
35
+ AnG1dJU+yL2BK7vaVytLTstJME5mepSZ46qqIJXMuWob/YPDmVaBF39TDSG9e34s
36
+ msG3BiCqgOgHAnL23+CN3Rt8MsuRfEtoTKpJVcCfoEoNHOkc
37
+ -----END CERTIFICATE-----
38
+ date: 2023-12-03 00:00:00.000000000 Z
12
39
  dependencies:
13
40
  - !ruby/object:Gem::Dependency
14
41
  name: ffi
@@ -138,32 +165,47 @@ dependencies:
138
165
  version: '0'
139
166
  description: Modern Kafka client library for Ruby based on librdkafka
140
167
  email:
141
- - thijs@appsignal.com
168
+ - contact@karafka.io
142
169
  executables: []
143
170
  extensions:
144
171
  - ext/Rakefile
145
172
  extra_rdoc_files: []
146
173
  files:
174
+ - ".github/FUNDING.yml"
175
+ - ".github/workflows/ci.yml"
147
176
  - ".gitignore"
148
177
  - ".rspec"
149
- - ".semaphore/semaphore.yml"
178
+ - ".ruby-gemset"
179
+ - ".ruby-version"
150
180
  - ".yardopts"
151
181
  - CHANGELOG.md
152
182
  - Gemfile
153
183
  - Guardfile
154
- - LICENSE
184
+ - MIT-LICENSE
155
185
  - README.md
156
186
  - Rakefile
187
+ - certs/cert_chain.pem
157
188
  - docker-compose.yml
158
189
  - ext/README.md
159
190
  - ext/Rakefile
160
191
  - lib/rdkafka.rb
161
192
  - lib/rdkafka/abstract_handle.rb
162
193
  - lib/rdkafka/admin.rb
194
+ - lib/rdkafka/admin/acl_binding_result.rb
195
+ - lib/rdkafka/admin/create_acl_handle.rb
196
+ - lib/rdkafka/admin/create_acl_report.rb
197
+ - lib/rdkafka/admin/create_partitions_handle.rb
198
+ - lib/rdkafka/admin/create_partitions_report.rb
163
199
  - lib/rdkafka/admin/create_topic_handle.rb
164
200
  - lib/rdkafka/admin/create_topic_report.rb
201
+ - lib/rdkafka/admin/delete_acl_handle.rb
202
+ - lib/rdkafka/admin/delete_acl_report.rb
203
+ - lib/rdkafka/admin/delete_groups_handle.rb
204
+ - lib/rdkafka/admin/delete_groups_report.rb
165
205
  - lib/rdkafka/admin/delete_topic_handle.rb
166
206
  - lib/rdkafka/admin/delete_topic_report.rb
207
+ - lib/rdkafka/admin/describe_acl_handle.rb
208
+ - lib/rdkafka/admin/describe_acl_report.rb
167
209
  - lib/rdkafka/bindings.rb
168
210
  - lib/rdkafka/callbacks.rb
169
211
  - lib/rdkafka/config.rb
@@ -173,6 +215,7 @@ files:
173
215
  - lib/rdkafka/consumer/partition.rb
174
216
  - lib/rdkafka/consumer/topic_partition_list.rb
175
217
  - lib/rdkafka/error.rb
218
+ - lib/rdkafka/helpers/time.rb
176
219
  - lib/rdkafka/metadata.rb
177
220
  - lib/rdkafka/native_kafka.rb
178
221
  - lib/rdkafka/producer.rb
@@ -180,11 +223,18 @@ files:
180
223
  - lib/rdkafka/producer/delivery_report.rb
181
224
  - lib/rdkafka/version.rb
182
225
  - rdkafka.gemspec
226
+ - renovate.json
183
227
  - spec/rdkafka/abstract_handle_spec.rb
228
+ - spec/rdkafka/admin/create_acl_handle_spec.rb
229
+ - spec/rdkafka/admin/create_acl_report_spec.rb
184
230
  - spec/rdkafka/admin/create_topic_handle_spec.rb
185
231
  - spec/rdkafka/admin/create_topic_report_spec.rb
232
+ - spec/rdkafka/admin/delete_acl_handle_spec.rb
233
+ - spec/rdkafka/admin/delete_acl_report_spec.rb
186
234
  - spec/rdkafka/admin/delete_topic_handle_spec.rb
187
235
  - spec/rdkafka/admin/delete_topic_report_spec.rb
236
+ - spec/rdkafka/admin/describe_acl_handle_spec.rb
237
+ - spec/rdkafka/admin/describe_acl_report_spec.rb
188
238
  - spec/rdkafka/admin_spec.rb
189
239
  - spec/rdkafka/bindings_spec.rb
190
240
  - spec/rdkafka/callbacks_spec.rb
@@ -201,11 +251,18 @@ files:
201
251
  - spec/rdkafka/producer/delivery_report_spec.rb
202
252
  - spec/rdkafka/producer_spec.rb
203
253
  - spec/spec_helper.rb
204
- homepage: https://github.com/thijsc/rdkafka-ruby
254
+ homepage:
205
255
  licenses:
206
256
  - MIT
207
- metadata: {}
208
- post_install_message:
257
+ metadata:
258
+ funding_uri: https://karafka.io/#become-pro
259
+ homepage_uri: https://karafka.io
260
+ changelog_uri: https://github.com/karafka/rdkafka-ruby/blob/main/CHANGELOG.md
261
+ bug_tracker_uri: https://github.com/karafka/rdkafka-ruby/issues
262
+ source_code_uri: https://github.com/karafka/rdkafka-ruby
263
+ documentation_uri: https://github.com/karafka/rdkafka-ruby/blob/main/README.md
264
+ rubygems_mfa_required: 'true'
265
+ post_install_message:
209
266
  rdoc_options: []
210
267
  require_paths:
211
268
  - lib
@@ -213,25 +270,31 @@ required_ruby_version: !ruby/object:Gem::Requirement
213
270
  requirements:
214
271
  - - ">="
215
272
  - !ruby/object:Gem::Version
216
- version: '2.6'
273
+ version: '2.7'
217
274
  required_rubygems_version: !ruby/object:Gem::Requirement
218
275
  requirements:
219
276
  - - ">="
220
277
  - !ruby/object:Gem::Version
221
278
  version: '0'
222
279
  requirements: []
223
- rubygems_version: 3.4.1
224
- signing_key:
280
+ rubygems_version: 3.4.19
281
+ signing_key:
225
282
  specification_version: 4
226
283
  summary: The rdkafka gem is a modern Kafka client library for Ruby based on librdkafka.
227
284
  It wraps the production-ready C client using the ffi gem and targets Kafka 1.0+
228
285
  and Ruby 2.4+.
229
286
  test_files:
230
287
  - spec/rdkafka/abstract_handle_spec.rb
288
+ - spec/rdkafka/admin/create_acl_handle_spec.rb
289
+ - spec/rdkafka/admin/create_acl_report_spec.rb
231
290
  - spec/rdkafka/admin/create_topic_handle_spec.rb
232
291
  - spec/rdkafka/admin/create_topic_report_spec.rb
292
+ - spec/rdkafka/admin/delete_acl_handle_spec.rb
293
+ - spec/rdkafka/admin/delete_acl_report_spec.rb
233
294
  - spec/rdkafka/admin/delete_topic_handle_spec.rb
234
295
  - spec/rdkafka/admin/delete_topic_report_spec.rb
296
+ - spec/rdkafka/admin/describe_acl_handle_spec.rb
297
+ - spec/rdkafka/admin/describe_acl_report_spec.rb
235
298
  - spec/rdkafka/admin_spec.rb
236
299
  - spec/rdkafka/bindings_spec.rb
237
300
  - spec/rdkafka/callbacks_spec.rb
metadata.gz.sig ADDED
@@ -0,0 +1,3 @@
1
+ ȧ����������ٸ��'�-S"?Yj�� &eB���s�x���
2
+ �L{mZz��Ë$�M�,ٛl�n%�j�V���ƨO�>B��k0L� ����{!ԕ,�Uu����;KU� ��v����&[����뷟�iIMN\;K�$Z�Qh+�'Ն��GZ �³����b3�Z����V��vѮ���~X�-�ੳJ�(j�\ӱ�{�IsB,�.5<�Ϲw$Ih�s�z�b�5�eW� 2q\� ��;�|�&0�@�
3
+ �F��ZQw�sl�;!��U>O��lq�/��s���J{H���JZ?6�q��P �!��I��,������h��^��B�ĆdT�����hMv
@@ -1,27 +0,0 @@
1
- version: v1.0
2
- name: Rdkafka Ruby
3
-
4
- agent:
5
- machine:
6
- type: e1-standard-4
7
- os_image: ubuntu1804
8
-
9
- blocks:
10
- - name: Run specs
11
- task:
12
- prologue:
13
- commands:
14
- - sudo apt install -y valgrind
15
- jobs:
16
- - name: bundle exec rspec
17
- matrix:
18
- - env_var: RUBY_VERSION
19
- values: [ "2.6.10", "2.7.6", "3.0.4", "3.1.2"]
20
- commands:
21
- - sem-version ruby $RUBY_VERSION
22
- - checkout
23
- - docker-compose up -d --no-recreate
24
- - bundle install --path vendor/bundle
25
- - cd ext && bundle exec rake && cd ..
26
- - ulimit -c unlimited
27
- - valgrind -v bundle exec rspec