ruby-kafka 0.7.9 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- 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: []
|