ruby-kafka 0.7.9 → 1.2.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.
- checksums.yaml +4 -4
- data/.circleci/config.yml +135 -3
- data/.github/workflows/stale.yml +19 -0
- data/.ruby-version +1 -1
- data/CHANGELOG.md +26 -0
- data/README.md +46 -0
- data/lib/kafka/async_producer.rb +5 -2
- data/lib/kafka/client.rb +68 -4
- data/lib/kafka/cluster.rb +52 -0
- data/lib/kafka/connection.rb +3 -0
- data/lib/kafka/consumer.rb +61 -11
- data/lib/kafka/consumer_group.rb +10 -1
- data/lib/kafka/datadog.rb +20 -13
- data/lib/kafka/fetcher.rb +5 -2
- data/lib/kafka/interceptors.rb +33 -0
- data/lib/kafka/offset_manager.rb +12 -1
- data/lib/kafka/partitioner.rb +1 -1
- data/lib/kafka/producer.rb +13 -5
- data/lib/kafka/prometheus.rb +78 -79
- data/lib/kafka/protocol/join_group_request.rb +8 -2
- data/lib/kafka/protocol/metadata_response.rb +1 -1
- data/lib/kafka/protocol/offset_fetch_request.rb +3 -1
- data/lib/kafka/protocol/record_batch.rb +5 -4
- data/lib/kafka/ssl_context.rb +4 -3
- data/lib/kafka/tagged_logger.rb +3 -2
- data/lib/kafka/version.rb +1 -1
- data/ruby-kafka.gemspec +4 -4
- metadata +19 -11
data/lib/kafka/ssl_context.rb
CHANGED
@@ -54,11 +54,12 @@ module Kafka
|
|
54
54
|
store.set_default_paths
|
55
55
|
end
|
56
56
|
ssl_context.cert_store = store
|
57
|
-
ssl_context.verify_mode = OpenSSL::SSL::VERIFY_PEER
|
58
|
-
# Verify certificate hostname if supported (ruby >= 2.4.0)
|
59
|
-
ssl_context.verify_hostname = verify_hostname if ssl_context.respond_to?(:verify_hostname=)
|
60
57
|
end
|
61
58
|
|
59
|
+
ssl_context.verify_mode = OpenSSL::SSL::VERIFY_PEER
|
60
|
+
# Verify certificate hostname if supported (ruby >= 2.4.0)
|
61
|
+
ssl_context.verify_hostname = verify_hostname if ssl_context.respond_to?(:verify_hostname=)
|
62
|
+
|
62
63
|
ssl_context
|
63
64
|
end
|
64
65
|
end
|
data/lib/kafka/tagged_logger.rb
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
# Basic implementation of a tagged logger that matches the API of
|
2
2
|
# ActiveSupport::TaggedLogging.
|
3
3
|
|
4
|
+
require 'delegate'
|
4
5
|
require 'logger'
|
5
6
|
|
6
7
|
module Kafka
|
7
8
|
class TaggedLogger < SimpleDelegator
|
8
9
|
|
9
|
-
%i(debug info warn error
|
10
|
+
%i(debug info warn error).each do |method|
|
10
11
|
define_method method do |msg_or_progname, &block|
|
11
12
|
if block_given?
|
12
13
|
super(msg_or_progname, &block)
|
@@ -57,7 +58,7 @@ module Kafka
|
|
57
58
|
end
|
58
59
|
|
59
60
|
def initialize(logger_or_stream = nil)
|
60
|
-
logger = if logger_or_stream.
|
61
|
+
logger = if %w(info debug warn error).all? { |s| logger_or_stream.respond_to?(s) }
|
61
62
|
logger_or_stream
|
62
63
|
elsif logger_or_stream
|
63
64
|
::Logger.new(logger_or_stream)
|
data/lib/kafka/version.rb
CHANGED
data/ruby-kafka.gemspec
CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
|
|
18
18
|
DESC
|
19
19
|
|
20
20
|
spec.homepage = "https://github.com/zendesk/ruby-kafka"
|
21
|
-
spec.license = "Apache
|
21
|
+
spec.license = "Apache-2.0"
|
22
22
|
|
23
23
|
spec.required_ruby_version = '>= 2.1.0'
|
24
24
|
|
@@ -36,15 +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
42
|
spec.add_development_dependency "zstd-ruby"
|
43
43
|
spec.add_development_dependency "colored"
|
44
44
|
spec.add_development_dependency "rspec_junit_formatter", "0.2.2"
|
45
|
-
spec.add_development_dependency "dogstatsd-ruby", ">=
|
45
|
+
spec.add_development_dependency "dogstatsd-ruby", ">= 4.0.0", "< 5.0.0"
|
46
46
|
spec.add_development_dependency "statsd-ruby"
|
47
|
-
spec.add_development_dependency "prometheus-client"
|
47
|
+
spec.add_development_dependency "prometheus-client", "~> 0.10.0"
|
48
48
|
spec.add_development_dependency "ruby-prof"
|
49
49
|
spec.add_development_dependency "timecop"
|
50
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:
|
4
|
+
version: 1.2.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:
|
11
|
+
date: 2020-08-03 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
|
@@ -212,7 +218,7 @@ dependencies:
|
|
212
218
|
requirements:
|
213
219
|
- - ">="
|
214
220
|
- !ruby/object:Gem::Version
|
215
|
-
version:
|
221
|
+
version: 4.0.0
|
216
222
|
- - "<"
|
217
223
|
- !ruby/object:Gem::Version
|
218
224
|
version: 5.0.0
|
@@ -222,7 +228,7 @@ dependencies:
|
|
222
228
|
requirements:
|
223
229
|
- - ">="
|
224
230
|
- !ruby/object:Gem::Version
|
225
|
-
version:
|
231
|
+
version: 4.0.0
|
226
232
|
- - "<"
|
227
233
|
- !ruby/object:Gem::Version
|
228
234
|
version: 5.0.0
|
@@ -244,16 +250,16 @@ dependencies:
|
|
244
250
|
name: prometheus-client
|
245
251
|
requirement: !ruby/object:Gem::Requirement
|
246
252
|
requirements:
|
247
|
-
- - "
|
253
|
+
- - "~>"
|
248
254
|
- !ruby/object:Gem::Version
|
249
|
-
version:
|
255
|
+
version: 0.10.0
|
250
256
|
type: :development
|
251
257
|
prerelease: false
|
252
258
|
version_requirements: !ruby/object:Gem::Requirement
|
253
259
|
requirements:
|
254
|
-
- - "
|
260
|
+
- - "~>"
|
255
261
|
- !ruby/object:Gem::Version
|
256
|
-
version:
|
262
|
+
version: 0.10.0
|
257
263
|
- !ruby/object:Gem::Dependency
|
258
264
|
name: ruby-prof
|
259
265
|
requirement: !ruby/object:Gem::Requirement
|
@@ -332,6 +338,7 @@ extensions: []
|
|
332
338
|
extra_rdoc_files: []
|
333
339
|
files:
|
334
340
|
- ".circleci/config.yml"
|
341
|
+
- ".github/workflows/stale.yml"
|
335
342
|
- ".gitignore"
|
336
343
|
- ".readygo"
|
337
344
|
- ".rspec"
|
@@ -379,6 +386,7 @@ files:
|
|
379
386
|
- lib/kafka/gzip_codec.rb
|
380
387
|
- lib/kafka/heartbeat.rb
|
381
388
|
- lib/kafka/instrumenter.rb
|
389
|
+
- lib/kafka/interceptors.rb
|
382
390
|
- lib/kafka/lz4_codec.rb
|
383
391
|
- lib/kafka/message_buffer.rb
|
384
392
|
- lib/kafka/offset_manager.rb
|
@@ -469,7 +477,7 @@ files:
|
|
469
477
|
- ruby-kafka.gemspec
|
470
478
|
homepage: https://github.com/zendesk/ruby-kafka
|
471
479
|
licenses:
|
472
|
-
- Apache
|
480
|
+
- Apache-2.0
|
473
481
|
metadata: {}
|
474
482
|
post_install_message:
|
475
483
|
rdoc_options: []
|