ruby-kafka 0.7.4 → 1.1.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 (59) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +168 -3
  3. data/.github/workflows/stale.yml +19 -0
  4. data/CHANGELOG.md +48 -0
  5. data/README.md +59 -0
  6. data/lib/kafka/async_producer.rb +30 -9
  7. data/lib/kafka/broker.rb +13 -1
  8. data/lib/kafka/broker_pool.rb +1 -1
  9. data/lib/kafka/client.rb +63 -6
  10. data/lib/kafka/cluster.rb +53 -1
  11. data/lib/kafka/compression.rb +13 -11
  12. data/lib/kafka/compressor.rb +1 -0
  13. data/lib/kafka/connection.rb +7 -1
  14. data/lib/kafka/connection_builder.rb +1 -1
  15. data/lib/kafka/consumer.rb +98 -17
  16. data/lib/kafka/consumer_group.rb +20 -2
  17. data/lib/kafka/datadog.rb +32 -12
  18. data/lib/kafka/fetch_operation.rb +1 -1
  19. data/lib/kafka/fetched_batch.rb +5 -1
  20. data/lib/kafka/fetched_batch_generator.rb +5 -2
  21. data/lib/kafka/fetched_message.rb +1 -0
  22. data/lib/kafka/fetched_offset_resolver.rb +1 -1
  23. data/lib/kafka/fetcher.rb +13 -6
  24. data/lib/kafka/gzip_codec.rb +4 -0
  25. data/lib/kafka/heartbeat.rb +8 -3
  26. data/lib/kafka/lz4_codec.rb +4 -0
  27. data/lib/kafka/offset_manager.rb +13 -2
  28. data/lib/kafka/produce_operation.rb +1 -1
  29. data/lib/kafka/producer.rb +33 -8
  30. data/lib/kafka/prometheus.rb +316 -0
  31. data/lib/kafka/protocol/add_offsets_to_txn_request.rb +29 -0
  32. data/lib/kafka/protocol/add_offsets_to_txn_response.rb +19 -0
  33. data/lib/kafka/protocol/join_group_request.rb +8 -2
  34. data/lib/kafka/protocol/metadata_response.rb +1 -1
  35. data/lib/kafka/protocol/offset_fetch_request.rb +3 -1
  36. data/lib/kafka/protocol/produce_request.rb +3 -1
  37. data/lib/kafka/protocol/record_batch.rb +7 -4
  38. data/lib/kafka/protocol/sasl_handshake_request.rb +1 -1
  39. data/lib/kafka/protocol/txn_offset_commit_request.rb +46 -0
  40. data/lib/kafka/protocol/txn_offset_commit_response.rb +18 -0
  41. data/lib/kafka/protocol.rb +8 -0
  42. data/lib/kafka/round_robin_assignment_strategy.rb +10 -7
  43. data/lib/kafka/sasl/gssapi.rb +1 -1
  44. data/lib/kafka/sasl/oauth.rb +64 -0
  45. data/lib/kafka/sasl/plain.rb +1 -1
  46. data/lib/kafka/sasl/scram.rb +16 -13
  47. data/lib/kafka/sasl_authenticator.rb +10 -3
  48. data/lib/kafka/snappy_codec.rb +4 -0
  49. data/lib/kafka/ssl_context.rb +5 -1
  50. data/lib/kafka/ssl_socket_with_timeout.rb +1 -0
  51. data/lib/kafka/statsd.rb +10 -1
  52. data/lib/kafka/tagged_logger.rb +77 -0
  53. data/lib/kafka/transaction_manager.rb +26 -1
  54. data/lib/kafka/transaction_state_machine.rb +1 -1
  55. data/lib/kafka/version.rb +1 -1
  56. data/lib/kafka/zstd_codec.rb +27 -0
  57. data/lib/kafka.rb +4 -0
  58. data/ruby-kafka.gemspec +5 -3
  59. metadata +50 -7
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-kafka
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.4
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Schierbeck
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-11-13 00:00:00.000000000 Z
11
+ date: 2020-06-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: digest-crc
@@ -128,14 +128,20 @@ dependencies:
128
128
  requirements:
129
129
  - - ">="
130
130
  - !ruby/object:Gem::Version
131
- version: '0'
131
+ version: '4.0'
132
+ - - "<"
133
+ - !ruby/object:Gem::Version
134
+ version: '6.1'
132
135
  type: :development
133
136
  prerelease: false
134
137
  version_requirements: !ruby/object:Gem::Requirement
135
138
  requirements:
136
139
  - - ">="
137
140
  - !ruby/object:Gem::Version
138
- version: '0'
141
+ version: '4.0'
142
+ - - "<"
143
+ - !ruby/object:Gem::Version
144
+ version: '6.1'
139
145
  - !ruby/object:Gem::Dependency
140
146
  name: snappy
141
147
  requirement: !ruby/object:Gem::Requirement
@@ -164,6 +170,20 @@ dependencies:
164
170
  - - ">="
165
171
  - !ruby/object:Gem::Version
166
172
  version: '0'
173
+ - !ruby/object:Gem::Dependency
174
+ name: zstd-ruby
175
+ requirement: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - ">="
178
+ - !ruby/object:Gem::Version
179
+ version: '0'
180
+ type: :development
181
+ prerelease: false
182
+ version_requirements: !ruby/object:Gem::Requirement
183
+ requirements:
184
+ - - ">="
185
+ - !ruby/object:Gem::Version
186
+ version: '0'
167
187
  - !ruby/object:Gem::Dependency
168
188
  name: colored
169
189
  requirement: !ruby/object:Gem::Requirement
@@ -198,7 +218,7 @@ dependencies:
198
218
  requirements:
199
219
  - - ">="
200
220
  - !ruby/object:Gem::Version
201
- version: 3.0.0
221
+ version: 4.0.0
202
222
  - - "<"
203
223
  - !ruby/object:Gem::Version
204
224
  version: 5.0.0
@@ -208,7 +228,7 @@ dependencies:
208
228
  requirements:
209
229
  - - ">="
210
230
  - !ruby/object:Gem::Version
211
- version: 3.0.0
231
+ version: 4.0.0
212
232
  - - "<"
213
233
  - !ruby/object:Gem::Version
214
234
  version: 5.0.0
@@ -226,6 +246,20 @@ dependencies:
226
246
  - - ">="
227
247
  - !ruby/object:Gem::Version
228
248
  version: '0'
249
+ - !ruby/object:Gem::Dependency
250
+ name: prometheus-client
251
+ requirement: !ruby/object:Gem::Requirement
252
+ requirements:
253
+ - - "~>"
254
+ - !ruby/object:Gem::Version
255
+ version: 0.10.0
256
+ type: :development
257
+ prerelease: false
258
+ version_requirements: !ruby/object:Gem::Requirement
259
+ requirements:
260
+ - - "~>"
261
+ - !ruby/object:Gem::Version
262
+ version: 0.10.0
229
263
  - !ruby/object:Gem::Dependency
230
264
  name: ruby-prof
231
265
  requirement: !ruby/object:Gem::Requirement
@@ -304,6 +338,7 @@ extensions: []
304
338
  extra_rdoc_files: []
305
339
  files:
306
340
  - ".circleci/config.yml"
341
+ - ".github/workflows/stale.yml"
307
342
  - ".gitignore"
308
343
  - ".readygo"
309
344
  - ".rspec"
@@ -360,7 +395,10 @@ files:
360
395
  - lib/kafka/pending_message_queue.rb
361
396
  - lib/kafka/produce_operation.rb
362
397
  - lib/kafka/producer.rb
398
+ - lib/kafka/prometheus.rb
363
399
  - lib/kafka/protocol.rb
400
+ - lib/kafka/protocol/add_offsets_to_txn_request.rb
401
+ - lib/kafka/protocol/add_offsets_to_txn_response.rb
364
402
  - lib/kafka/protocol/add_partitions_to_txn_request.rb
365
403
  - lib/kafka/protocol/add_partitions_to_txn_response.rb
366
404
  - lib/kafka/protocol/alter_configs_request.rb
@@ -416,8 +454,11 @@ files:
416
454
  - lib/kafka/protocol/sasl_handshake_response.rb
417
455
  - lib/kafka/protocol/sync_group_request.rb
418
456
  - lib/kafka/protocol/sync_group_response.rb
457
+ - lib/kafka/protocol/txn_offset_commit_request.rb
458
+ - lib/kafka/protocol/txn_offset_commit_response.rb
419
459
  - lib/kafka/round_robin_assignment_strategy.rb
420
460
  - lib/kafka/sasl/gssapi.rb
461
+ - lib/kafka/sasl/oauth.rb
421
462
  - lib/kafka/sasl/plain.rb
422
463
  - lib/kafka/sasl/scram.rb
423
464
  - lib/kafka/sasl_authenticator.rb
@@ -426,14 +467,16 @@ files:
426
467
  - lib/kafka/ssl_context.rb
427
468
  - lib/kafka/ssl_socket_with_timeout.rb
428
469
  - lib/kafka/statsd.rb
470
+ - lib/kafka/tagged_logger.rb
429
471
  - lib/kafka/transaction_manager.rb
430
472
  - lib/kafka/transaction_state_machine.rb
431
473
  - lib/kafka/version.rb
474
+ - lib/kafka/zstd_codec.rb
432
475
  - lib/ruby-kafka.rb
433
476
  - ruby-kafka.gemspec
434
477
  homepage: https://github.com/zendesk/ruby-kafka
435
478
  licenses:
436
- - Apache License Version 2.0
479
+ - Apache-2.0
437
480
  metadata: {}
438
481
  post_install_message:
439
482
  rdoc_options: []