ruby-kafka 0.7.1.beta2 → 0.7.1.debugcorruption2
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/CHANGELOG.md +3 -3
- data/lib/kafka/broker.rb +25 -1
- data/lib/kafka/client.rb +9 -1
- data/lib/kafka/cluster.rb +1 -0
- data/lib/kafka/datadog.rb +10 -2
- data/lib/kafka/version.rb +1 -1
- data/ruby-kafka.gemspec +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 309f92b03ff0cd0687e06bb794ca1881d33abec51cd388145aa45bd8adfe1f89
|
4
|
+
data.tar.gz: 990eeb531683ceaba2ef825a97847a71b9cc23e59c25bfb817ca98098d4d2a6b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 35336add7284db579083c04e67fed4a4ecc0274bad6ef015f55c77f84e5feb0846f3dfb3729aeb9a1345cad22ee152b8c6d6e8f77474c497c4300e0441ab3712
|
7
|
+
data.tar.gz: b4b6ccfdaa9decaabb5225b8b0118a3b9e1c7a2e670748479426e47757413f0f59f2fcbddd2db89f7e7f7189421592536f8b7e2b850154a74aa68c8ef8f572db
|
data/CHANGELOG.md
CHANGED
@@ -4,11 +4,11 @@ Changes and additions to the library will be listed here.
|
|
4
4
|
|
5
5
|
## Unreleased
|
6
6
|
|
7
|
-
- Fix consuming duplication due to redundant messages returned from Kafka (#636).
|
8
|
-
- Fresh cluster info on fetch error (#641).
|
9
|
-
|
10
7
|
## 0.7.1
|
11
8
|
|
9
|
+
- Compatibility with dogstatsd-ruby v4.0.0.
|
10
|
+
- Fix consuming duplication due to redundant messages returned from Kafka (#636).
|
11
|
+
- Fresh cluster info on fetch error (#641).
|
12
12
|
- Exactly Once Delivery and Transactional Messaging Support (#608).
|
13
13
|
- Support extra client certificates in the SSL Context when authenticating with Kafka (#633).
|
14
14
|
|
data/lib/kafka/broker.rb
CHANGED
@@ -71,7 +71,31 @@ module Kafka
|
|
71
71
|
def produce(**options)
|
72
72
|
request = Protocol::ProduceRequest.new(**options)
|
73
73
|
|
74
|
-
send_request(request)
|
74
|
+
resp = send_request(request)
|
75
|
+
|
76
|
+
return if resp.nil?
|
77
|
+
|
78
|
+
errored_partitions = []
|
79
|
+
resp.topics.each do |topic_info|
|
80
|
+
errored = topic_info.partitions.find {|part_info| part_info.error_code == 2 }
|
81
|
+
errored_partitions << errored unless errored.nil?
|
82
|
+
end
|
83
|
+
|
84
|
+
errored_partitions.each do |partition_info|
|
85
|
+
|
86
|
+
@logger.error "Corrupt message code received for #{request} to partition #{partition_info.partition}"
|
87
|
+
|
88
|
+
#{"topic" => {"partition" => [message, message] }}
|
89
|
+
request.messages_for_topics.each do |topic, messages_for_partition|
|
90
|
+
messages_for_partition.fetch(partition_info.partition, []).each do |message|
|
91
|
+
@logger.error "Message key: #{message.key}"
|
92
|
+
@logger.error "Message value: #{message.value}"
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
96
|
+
end
|
97
|
+
|
98
|
+
resp
|
75
99
|
end
|
76
100
|
|
77
101
|
def fetch_offsets(**options)
|
data/lib/kafka/client.rb
CHANGED
@@ -618,7 +618,15 @@ module Kafka
|
|
618
618
|
#
|
619
619
|
# @return [Array<String>] the list of topic names.
|
620
620
|
def topics
|
621
|
-
|
621
|
+
attempts = 0
|
622
|
+
begin
|
623
|
+
attempts += 1
|
624
|
+
@cluster.list_topics
|
625
|
+
rescue Kafka::ConnectionError
|
626
|
+
@cluster.mark_as_stale!
|
627
|
+
retry unless attempts > 1
|
628
|
+
raise
|
629
|
+
end
|
622
630
|
end
|
623
631
|
|
624
632
|
# Lists all consumer groups in the cluster
|
data/lib/kafka/cluster.rb
CHANGED
data/lib/kafka/datadog.rb
CHANGED
@@ -40,7 +40,7 @@ module Kafka
|
|
40
40
|
end
|
41
41
|
|
42
42
|
def host
|
43
|
-
@host ||=
|
43
|
+
@host ||= default_host
|
44
44
|
end
|
45
45
|
|
46
46
|
def host=(host)
|
@@ -49,7 +49,7 @@ module Kafka
|
|
49
49
|
end
|
50
50
|
|
51
51
|
def port
|
52
|
-
@port ||=
|
52
|
+
@port ||= default_port
|
53
53
|
end
|
54
54
|
|
55
55
|
def port=(port)
|
@@ -77,6 +77,14 @@ module Kafka
|
|
77
77
|
|
78
78
|
private
|
79
79
|
|
80
|
+
def default_host
|
81
|
+
::Datadog::Statsd.const_defined?(:Connection) ? ::Datadog::Statsd::Connection::DEFAULT_HOST : ::Datadog::Statsd::DEFAULT_HOST
|
82
|
+
end
|
83
|
+
|
84
|
+
def default_port
|
85
|
+
::Datadog::Statsd.const_defined?(:Connection) ? ::Datadog::Statsd::Connection::DEFAULT_PORT : ::Datadog::Statsd::DEFAULT_PORT
|
86
|
+
end
|
87
|
+
|
80
88
|
def clear
|
81
89
|
@statsd && @statsd.close
|
82
90
|
@statsd = nil
|
data/lib/kafka/version.rb
CHANGED
data/ruby-kafka.gemspec
CHANGED
@@ -41,7 +41,7 @@ Gem::Specification.new do |spec|
|
|
41
41
|
spec.add_development_dependency "extlz4"
|
42
42
|
spec.add_development_dependency "colored"
|
43
43
|
spec.add_development_dependency "rspec_junit_formatter", "0.2.2"
|
44
|
-
spec.add_development_dependency "dogstatsd-ruby", ">= 3.0.0", "<
|
44
|
+
spec.add_development_dependency "dogstatsd-ruby", ">= 3.0.0", "< 5.0.0"
|
45
45
|
spec.add_development_dependency "statsd-ruby"
|
46
46
|
spec.add_development_dependency "ruby-prof"
|
47
47
|
spec.add_development_dependency "timecop"
|
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.1.
|
4
|
+
version: 0.7.1.debugcorruption2
|
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-09-
|
11
|
+
date: 2018-09-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: digest-crc
|
@@ -201,7 +201,7 @@ dependencies:
|
|
201
201
|
version: 3.0.0
|
202
202
|
- - "<"
|
203
203
|
- !ruby/object:Gem::Version
|
204
|
-
version:
|
204
|
+
version: 5.0.0
|
205
205
|
type: :development
|
206
206
|
prerelease: false
|
207
207
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -211,7 +211,7 @@ dependencies:
|
|
211
211
|
version: 3.0.0
|
212
212
|
- - "<"
|
213
213
|
- !ruby/object:Gem::Version
|
214
|
-
version:
|
214
|
+
version: 5.0.0
|
215
215
|
- !ruby/object:Gem::Dependency
|
216
216
|
name: statsd-ruby
|
217
217
|
requirement: !ruby/object:Gem::Requirement
|