ruby-kafka 0.7.6 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +102 -3
  3. data/.github/workflows/stale.yml +19 -0
  4. data/CHANGELOG.md +24 -0
  5. data/README.md +18 -0
  6. data/lib/kafka/async_producer.rb +3 -0
  7. data/lib/kafka/broker.rb +12 -0
  8. data/lib/kafka/client.rb +35 -3
  9. data/lib/kafka/cluster.rb +52 -0
  10. data/lib/kafka/compression.rb +13 -11
  11. data/lib/kafka/compressor.rb +1 -0
  12. data/lib/kafka/connection.rb +3 -0
  13. data/lib/kafka/consumer_group.rb +4 -1
  14. data/lib/kafka/datadog.rb +2 -10
  15. data/lib/kafka/fetched_batch.rb +5 -1
  16. data/lib/kafka/fetched_batch_generator.rb +4 -1
  17. data/lib/kafka/fetched_message.rb +1 -0
  18. data/lib/kafka/fetcher.rb +4 -1
  19. data/lib/kafka/gzip_codec.rb +4 -0
  20. data/lib/kafka/lz4_codec.rb +4 -0
  21. data/lib/kafka/producer.rb +20 -1
  22. data/lib/kafka/prometheus.rb +316 -0
  23. data/lib/kafka/protocol.rb +8 -0
  24. data/lib/kafka/protocol/add_offsets_to_txn_request.rb +29 -0
  25. data/lib/kafka/protocol/add_offsets_to_txn_response.rb +19 -0
  26. data/lib/kafka/protocol/join_group_request.rb +8 -2
  27. data/lib/kafka/protocol/offset_fetch_request.rb +3 -1
  28. data/lib/kafka/protocol/produce_request.rb +3 -1
  29. data/lib/kafka/protocol/record_batch.rb +5 -4
  30. data/lib/kafka/protocol/txn_offset_commit_request.rb +46 -0
  31. data/lib/kafka/protocol/txn_offset_commit_response.rb +18 -0
  32. data/lib/kafka/sasl/scram.rb +15 -12
  33. data/lib/kafka/snappy_codec.rb +4 -0
  34. data/lib/kafka/ssl_context.rb +4 -1
  35. data/lib/kafka/ssl_socket_with_timeout.rb +1 -0
  36. data/lib/kafka/tagged_logger.rb +25 -20
  37. data/lib/kafka/transaction_manager.rb +25 -0
  38. data/lib/kafka/version.rb +1 -1
  39. data/lib/kafka/zstd_codec.rb +27 -0
  40. data/ruby-kafka.gemspec +4 -2
  41. metadata +47 -6
@@ -36,13 +36,15 @@ Gem::Specification.new do |spec|
36
36
  spec.add_development_dependency "dotenv"
37
37
  spec.add_development_dependency "docker-api"
38
38
  spec.add_development_dependency "rspec-benchmark"
39
- spec.add_development_dependency "activesupport"
39
+ spec.add_development_dependency "activesupport", ">= 4.0", "< 6.1"
40
40
  spec.add_development_dependency "snappy"
41
41
  spec.add_development_dependency "extlz4"
42
+ spec.add_development_dependency "zstd-ruby"
42
43
  spec.add_development_dependency "colored"
43
44
  spec.add_development_dependency "rspec_junit_formatter", "0.2.2"
44
- spec.add_development_dependency "dogstatsd-ruby", ">= 3.0.0", "< 5.0.0"
45
+ spec.add_development_dependency "dogstatsd-ruby", ">= 4.0.0", "< 5.0.0"
45
46
  spec.add_development_dependency "statsd-ruby"
47
+ spec.add_development_dependency "prometheus-client", "~> 0.10.0"
46
48
  spec.add_development_dependency "ruby-prof"
47
49
  spec.add_development_dependency "timecop"
48
50
  spec.add_development_dependency "rubocop", "~> 0.49.1"
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.6
4
+ version: 1.0.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: 2019-03-14 00:00:00.000000000 Z
11
+ date: 2020-02-25 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,6 +454,8 @@ 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
421
461
  - lib/kafka/sasl/oauth.rb
@@ -431,6 +471,7 @@ files:
431
471
  - lib/kafka/transaction_manager.rb
432
472
  - lib/kafka/transaction_state_machine.rb
433
473
  - lib/kafka/version.rb
474
+ - lib/kafka/zstd_codec.rb
434
475
  - lib/ruby-kafka.rb
435
476
  - ruby-kafka.gemspec
436
477
  homepage: https://github.com/zendesk/ruby-kafka