sbmt-kafka_consumer 2.6.0 → 2.7.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 167a1f001609eaac9e7cfb33fbd19422a89711d099dedd4b4bdc96b63731562a
4
- data.tar.gz: fe081b40a7c1d2462b95874bb9c089b7604db7c7b15e7717ce904462b90383e3
3
+ metadata.gz: 4db2a1a6eecab6ef429ef1591991a38e19d5996f1881f8e21e1382513ccd972b
4
+ data.tar.gz: 490e1c37ce5029efe299119cd7a879fbdb7e0ee3be8e1bc49f4c18a7ad0a0b4c
5
5
  SHA512:
6
- metadata.gz: de1d6a79ee8fa4eb55830b186037b17b5d900cb6fba4b19556dbc78d62da7d9d8a70dd1b5c829a99dfb88ea60b78ed49ec61c75b00d377311af693167924f4b8
7
- data.tar.gz: d2fd8c167da6f471d00a5cad5542fdc0cd5815a3f0680a1bd9404203ce982bddc3b3d50ce524448113cdf97f9d5cebc56c2e23820c5d53a242f2a98e698d60fd
6
+ metadata.gz: 11ab3951c1caa9cf2975199c4815838058c719038f77cdc8d563ef36248eebf312cf06e66d9b43058918f3042f88312144f36183f0cddfe882c3b9c03b5e5c8d
7
+ data.tar.gz: 5eedd592dd638ac22181e2bd5717e8ef63ca2e4b23cfa1c79c05c0fb3c1596586492eff32c3a5b1475ce997dd8f184e0e6e9024252922409fc3dee5d474e7d8b
data/CHANGELOG.md CHANGED
@@ -13,6 +13,18 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
13
13
 
14
14
  ### Fixed
15
15
 
16
+ ## [2.7.0] - 2024-07-30
17
+
18
+ ### Changed
19
+
20
+ - When using strategy `cooperative-sticky`, method `mark_as_consumed` is used ([more details](https://github.com/karafka/karafka/wiki/FAQ#why-when-using-cooperative-sticky-rebalance-strategy-all-topics-get-revoked-on-rebalance))
21
+
22
+ ## [2.6.1] - 2024-07-05
23
+
24
+ ### Fixed
25
+
26
+ - Use the current `trace_id` instead of creating a new one
27
+
16
28
  ## [2.6.0] - 2024-07-01
17
29
 
18
30
  ### Added
@@ -3,8 +3,6 @@
3
3
  module Sbmt
4
4
  module KafkaConsumer
5
5
  class BaseConsumer < Karafka::BaseConsumer
6
- attr_reader :trace_id
7
-
8
6
  def self.consumer_klass(skip_on_error: false, middlewares: [])
9
7
  Class.new(self) do
10
8
  const_set(:SKIP_ON_ERROR, skip_on_error)
@@ -21,7 +19,7 @@ module Sbmt
21
19
  if process_batch?
22
20
  with_batch_instrumentation(messages) do
23
21
  process_batch(messages)
24
- mark_as_consumed!(messages.last)
22
+ mark_message(messages.last)
25
23
  end
26
24
  else
27
25
  messages.each do |message|
@@ -41,8 +39,6 @@ module Sbmt
41
39
  private
42
40
 
43
41
  def with_instrumentation(message)
44
- @trace_id = SecureRandom.base58
45
-
46
42
  logger.tagged(
47
43
  trace_id: trace_id,
48
44
  topic: message.metadata.topic, partition: message.metadata.partition,
@@ -69,8 +65,6 @@ module Sbmt
69
65
  end
70
66
 
71
67
  def with_batch_instrumentation(messages)
72
- @trace_id = SecureRandom.base58
73
-
74
68
  logger.tagged(
75
69
  trace_id: trace_id,
76
70
  first_offset: messages.first.metadata.offset,
@@ -88,8 +82,6 @@ module Sbmt
88
82
  end
89
83
 
90
84
  def with_common_instrumentation(name, message)
91
- @trace_id = SecureRandom.base58
92
-
93
85
  logger.tagged(
94
86
  trace_id: trace_id
95
87
  ) do
@@ -116,7 +108,7 @@ module Sbmt
116
108
  end
117
109
 
118
110
  with_common_instrumentation("mark_as_consumed", message) do
119
- mark_as_consumed!(message)
111
+ mark_message(message)
120
112
  end
121
113
  end
122
114
 
@@ -173,6 +165,26 @@ module Sbmt
173
165
  end
174
166
  traverse_chain.call
175
167
  end
168
+
169
+ def trace_id
170
+ @trace_id ||= SecureRandom.base58
171
+ end
172
+
173
+ def config
174
+ @config ||= Sbmt::KafkaConsumer::Config.new
175
+ end
176
+
177
+ def cooperative_sticky?
178
+ config.partition_assignment_strategy == "cooperative-sticky"
179
+ end
180
+
181
+ def mark_message(message)
182
+ if cooperative_sticky?
183
+ mark_as_consumed(message)
184
+ else
185
+ mark_as_consumed!(message)
186
+ end
187
+ end
176
188
  end
177
189
  end
178
190
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Sbmt
4
4
  module KafkaConsumer
5
- VERSION = "2.6.0"
5
+ VERSION = "2.7.0"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sbmt-kafka_consumer
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.6.0
4
+ version: 2.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sbermarket Ruby-Platform Team
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-07-01 00:00:00.000000000 Z
11
+ date: 2024-08-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -570,7 +570,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
570
570
  - !ruby/object:Gem::Version
571
571
  version: '0'
572
572
  requirements: []
573
- rubygems_version: 3.5.3
573
+ rubygems_version: 3.1.6
574
574
  signing_key:
575
575
  specification_version: 4
576
576
  summary: Ruby gem for consuming Kafka messages