rdkafka 0.13.0 → 0.15.0

Sign up to get free protection for your applications and to get access to all the features.
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