racecar 2.8.0.beta.2 → 2.8.2.beta
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 +7 -1
- data/Gemfile.lock +3 -3
- data/lib/racecar/consumer_set.rb +6 -0
- data/lib/racecar/erroneous_state_error.rb +34 -0
- data/lib/racecar/runner.rb +1 -0
- data/lib/racecar/version.rb +1 -1
- data/racecar.gemspec +1 -1
- metadata +5 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: af359d8c13a9daeddded0e42a18b5bb2c4eff61d5e534777bf4e9311cbc71697
|
|
4
|
+
data.tar.gz: 6e7245bdbe7892ddb980ebb1be5e71b5dc445002899742688458ad627befc0b2
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e3dc320d68e7b0444ad6254307589c7ec66b4f56d9f42e53b97b390468e9b2e9583d5bd334a19d515cac2c8ba70b827bbb7ca8b334e2c9a77ec2a9e75706a1da
|
|
7
|
+
data.tar.gz: 768ae226817e083e8b9d11fd6e6dc795eaafd14653a04b38b70d54efe1f47fca89e715ac75270809cf66becca39433ba837f62f14842a71d5dc01b29f8bd0e88
|
data/CHANGELOG.md
CHANGED
|
@@ -2,8 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
## v2.8.2
|
|
6
|
+
* Changes log level for ErroneousStateError to WARN.
|
|
7
|
+
|
|
8
|
+
## v2.8.1
|
|
9
|
+
* Adds new ErroneousStateError to racecar in order to give more information on this new possible exception.
|
|
10
|
+
|
|
5
11
|
## v2.8.0
|
|
6
|
-
* Update librdkafka version from 1.8.2 to 1.9.0 by upgrading from rdkafka 0.10.0 to 0.12.0. ([#283](https://github.com/zendesk/racecar/pull/
|
|
12
|
+
* Update librdkafka version from 1.8.2 to 1.9.0 by upgrading from rdkafka 0.10.0 to 0.12.0. ([#283](https://github.com/zendesk/racecar/pull/293))
|
|
7
13
|
|
|
8
14
|
## v2.7.0
|
|
9
15
|
|
data/Gemfile.lock
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
racecar (2.8.
|
|
4
|
+
racecar (2.8.2.beta)
|
|
5
5
|
king_konf (~> 1.0.0)
|
|
6
|
-
rdkafka (~> 0.12.0
|
|
6
|
+
rdkafka (~> 0.12.0)
|
|
7
7
|
|
|
8
8
|
GEM
|
|
9
9
|
remote: https://rubygems.org/
|
|
@@ -28,7 +28,7 @@ GEM
|
|
|
28
28
|
coderay (~> 1.1)
|
|
29
29
|
method_source (~> 1.0)
|
|
30
30
|
rake (13.0.1)
|
|
31
|
-
rdkafka (0.12.0
|
|
31
|
+
rdkafka (0.12.0)
|
|
32
32
|
ffi (~> 1.15)
|
|
33
33
|
mini_portile2 (~> 2.6)
|
|
34
34
|
rake (> 12)
|
data/lib/racecar/consumer_set.rb
CHANGED
|
@@ -49,6 +49,12 @@ module Racecar
|
|
|
49
49
|
|
|
50
50
|
def store_offset(message)
|
|
51
51
|
current.store_offset(message)
|
|
52
|
+
rescue Rdkafka::RdkafkaError => e
|
|
53
|
+
if e.code == :state # -172
|
|
54
|
+
@logger.warn "Attempted to store_offset, but we're not subscribed to it: #{ErroneousStateError.new(e)}"
|
|
55
|
+
return
|
|
56
|
+
end
|
|
57
|
+
raise e
|
|
52
58
|
end
|
|
53
59
|
|
|
54
60
|
def commit
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# `rd_kafka_offsets_store()` (et.al) returns an error for any
|
|
2
|
+
# partition that is not currently assigned (through `rd_kafka_*assign()`).
|
|
3
|
+
# This prevents a race condition where an application would store offsets
|
|
4
|
+
# after the assigned partitions had been revoked (which resets the stored
|
|
5
|
+
# offset), that could cause these old stored offsets to be committed later
|
|
6
|
+
# when the same partitions were assigned to this consumer again - effectively
|
|
7
|
+
# overwriting any committed offsets by any consumers that were assigned the
|
|
8
|
+
# same partitions previously. This would typically result in the offsets
|
|
9
|
+
# rewinding and messages to be reprocessed.
|
|
10
|
+
# As an extra effort to avoid this situation the stored offset is now
|
|
11
|
+
# also reset when partitions are assigned (through `rd_kafka_*assign()`).
|
|
12
|
+
module Racecar
|
|
13
|
+
class ErroneousStateError < StandardError
|
|
14
|
+
def initialize(rdkafka_error)
|
|
15
|
+
raise rdkafka_error unless rdkafka_error.is_a?(Rdkafka::RdkafkaError)
|
|
16
|
+
|
|
17
|
+
@rdkafka_error = rdkafka_error
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
attr_reader :rdkafka_error
|
|
21
|
+
|
|
22
|
+
def code
|
|
23
|
+
@rdkafka_error.code
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def to_s
|
|
27
|
+
<<~EOM
|
|
28
|
+
Partition is no longer assigned to this consumer and the offset could not be stored for commit.
|
|
29
|
+
#{@rdkafka_error.to_s}
|
|
30
|
+
EOM
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
end
|
|
34
|
+
end
|
data/lib/racecar/runner.rb
CHANGED
data/lib/racecar/version.rb
CHANGED
data/racecar.gemspec
CHANGED
|
@@ -23,7 +23,7 @@ Gem::Specification.new do |spec|
|
|
|
23
23
|
spec.required_ruby_version = '>= 2.6'
|
|
24
24
|
|
|
25
25
|
spec.add_runtime_dependency "king_konf", "~> 1.0.0"
|
|
26
|
-
spec.add_runtime_dependency "rdkafka", "~> 0.12.0
|
|
26
|
+
spec.add_runtime_dependency "rdkafka", "~> 0.12.0"
|
|
27
27
|
|
|
28
28
|
spec.add_development_dependency "bundler", [">= 1.13", "< 3"]
|
|
29
29
|
spec.add_development_dependency "pry"
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: racecar
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.8.
|
|
4
|
+
version: 2.8.2.beta
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Daniel Schierbeck
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: exe
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2022-
|
|
12
|
+
date: 2022-07-11 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: king_konf
|
|
@@ -31,14 +31,14 @@ dependencies:
|
|
|
31
31
|
requirements:
|
|
32
32
|
- - "~>"
|
|
33
33
|
- !ruby/object:Gem::Version
|
|
34
|
-
version: 0.12.0
|
|
34
|
+
version: 0.12.0
|
|
35
35
|
type: :runtime
|
|
36
36
|
prerelease: false
|
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
|
38
38
|
requirements:
|
|
39
39
|
- - "~>"
|
|
40
40
|
- !ruby/object:Gem::Version
|
|
41
|
-
version: 0.12.0
|
|
41
|
+
version: 0.12.0
|
|
42
42
|
- !ruby/object:Gem::Dependency
|
|
43
43
|
name: bundler
|
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -200,6 +200,7 @@ files:
|
|
|
200
200
|
- lib/racecar/ctl.rb
|
|
201
201
|
- lib/racecar/daemon.rb
|
|
202
202
|
- lib/racecar/datadog.rb
|
|
203
|
+
- lib/racecar/erroneous_state_error.rb
|
|
203
204
|
- lib/racecar/heroku.rb
|
|
204
205
|
- lib/racecar/instrumenter.rb
|
|
205
206
|
- lib/racecar/message.rb
|