karafka 2.4.0.beta1 → 2.4.0.beta2

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: 7c1493774aae6fa07d816d8e76b9d5577f5483e9d93301dc10a8e7d7a86c7045
4
- data.tar.gz: 32251813e9e3b9a9f7b75554a7b0175c2e1cf30456acb3207464a36587073259
3
+ metadata.gz: 39388f4dff605df6b699b8f8db42062fe8bdece1dcdc86548e91da28956f4eae
4
+ data.tar.gz: b58710b9e0d1264db8bddc7ff4540fcf697c2c4ca68c43de4fba6f79cbca4b8e
5
5
  SHA512:
6
- metadata.gz: 614cc7507dd865a8efde56e40a77f694efb268c4a877917834a7e23d78175cb9ddb4574ccaac75db86fea1e1de1eae17f4df694251268d90f2822a4868cddf0d
7
- data.tar.gz: f6ec801b2e47e531bcd4be2fd6e9e8bc01837b6218ffea1b3e187edc450fa519d2fb5f0fa8a69f5b0e67aabff8496aac1dbbc156bb45c2dd02b1ea495fb5710f
6
+ metadata.gz: 4e43f34d90881642a1a9ad3ffd74d8ff909c68f8eb54cafd8de2e2fb878c2cf3bfdd9506931d379441138afa5a6a29344a69aa744439182e5aef74e71d99dcf8
7
+ data.tar.gz: 984315866f3b801601970f4da01a7e31ca8a3dde35601fa8906335b1d1b9a002b2ba7b96c3e765a8c9c3081ff441d5937f9a9506b30ff86c1a8a0683ed8516d3
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -16,6 +16,7 @@ This release contains **BREAKING** changes. Make sure to read and apply upgrade
16
16
  - **[Feature]** Introduce `karafka topics plan` to describe changes that will be applied when migrating.
17
17
  - **[Feature]** Introduce ability to use custom message key deserializers.
18
18
  - **[Feature]** Introduce ability to use custom message headers deserializers.
19
+ - **[Feature]** Provide `Karafka::Admin::Configs` API for cluster and topics configuration management.
19
20
  - [Enhancement] Assign names to internal threads for better debuggability when on `TTIN`.
20
21
  - [Enhancement] Provide `log_polling` setting to the `Karafka::Instrumentation::LoggerListener` to silence polling in any non-debug mode.
21
22
  - [Enhancement] Provide `metadata#message` to be able to retrieve message from metadata.
@@ -50,6 +51,7 @@ This release contains **BREAKING** changes. Make sure to read and apply upgrade
50
51
  - [Fix] Re-raise critical supervisor errors before shutdown.
51
52
  - [Fix] Fix a case when right-open (infinite) swarm matching would not pass validations.
52
53
  - [Fix] Make `#enqueue_all` output compatible with `ActiveJob.perform_all_later` (oozzal)
54
+ - [Fix] Seek consumer group on a topic level is updating only recent partition.
53
55
 
54
56
  ### Upgrade Notes
55
57
 
data/Gemfile CHANGED
@@ -11,8 +11,8 @@ gemspec
11
11
  # Since some of those are only needed for some specs, they should never be required automatically
12
12
  group :integrations do
13
13
  gem 'activejob', require: false
14
- gem 'karafka-testing', '>= 2.4.0.beta1', require: false
15
- gem 'karafka-web', require: false
14
+ gem 'karafka-testing', '>= 2.4.0.rc1', require: false
15
+ gem 'karafka-web', '>= 0.9.0.rc1', require: false
16
16
  gem 'rspec', require: false
17
17
  end
18
18
 
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- karafka (2.4.0.beta1)
4
+ karafka (2.4.0.beta2)
5
5
  karafka-core (>= 2.4.0.rc1, < 2.5.0)
6
6
  waterdrop (>= 2.7.0.rc1, < 3.0.0)
7
7
  zeitwerk (~> 2.3)
@@ -44,20 +44,20 @@ GEM
44
44
  ffi (~> 1.15)
45
45
  mini_portile2 (~> 2.6)
46
46
  rake (> 12)
47
- karafka-testing (2.4.0.beta1)
48
- karafka (>= 2.3.0, < 2.5.0)
49
- waterdrop (>= 2.7.0.beta2)
50
- karafka-web (0.8.2)
47
+ karafka-testing (2.4.0.rc1)
48
+ karafka (>= 2.4.0.beta1, < 2.5.0)
49
+ waterdrop (>= 2.7.0.rc1)
50
+ karafka-web (0.9.0.rc1)
51
51
  erubi (~> 1.4)
52
- karafka (>= 2.3.0, < 2.4.0)
53
- karafka-core (>= 2.3.0, < 2.4.0)
52
+ karafka (>= 2.4.0.beta1, < 2.5.0)
53
+ karafka-core (>= 2.4.0.rc1, < 2.5.0)
54
54
  roda (~> 3.68, >= 3.69)
55
55
  tilt (~> 2.0)
56
56
  mini_portile2 (2.8.5)
57
57
  minitest (5.22.3)
58
58
  mutex_m (0.2.0)
59
59
  rack (3.0.10)
60
- rake (13.1.0)
60
+ rake (13.2.1)
61
61
  roda (3.78.0)
62
62
  rack
63
63
  rspec (3.13.0)
@@ -96,10 +96,10 @@ DEPENDENCIES
96
96
  byebug
97
97
  factory_bot
98
98
  karafka!
99
- karafka-testing (>= 2.4.0.beta1)
100
- karafka-web
99
+ karafka-testing (>= 2.4.0.rc1)
100
+ karafka-web (>= 0.9.0.rc1)
101
101
  rspec
102
102
  simplecov
103
103
 
104
104
  BUNDLED WITH
105
- 2.5.6
105
+ 2.5.7
data/lib/karafka/admin.rb CHANGED
@@ -183,7 +183,13 @@ module Karafka
183
183
  tpl_base.each do |topic, partitions_with_offsets|
184
184
  partitions_with_offsets.each do |partition, offset|
185
185
  target = offset.is_a?(Time) ? time_tpl : tpl
186
- target.add_topic_and_partitions_with_offsets(topic, [[partition, offset]])
186
+ # We reverse and uniq to make sure that potentially duplicated references are removed
187
+ # in such a way that the newest stays
188
+ target.to_h[topic] ||= []
189
+ target.to_h[topic] << Rdkafka::Consumer::Partition.new(partition, offset)
190
+ target.to_h[topic].reverse!
191
+ target.to_h[topic].uniq!(&:partition)
192
+ target.to_h[topic].reverse!
187
193
  end
188
194
  end
189
195
 
@@ -211,7 +217,11 @@ module Karafka
211
217
  end
212
218
 
213
219
  # Since now we have proper offsets, we can add this to the final tpl for commit
214
- tpl.add_topic_and_partitions_with_offsets(name, [[partition, offset]])
220
+ tpl.to_h[name] ||= []
221
+ tpl.to_h[name] << Rdkafka::Consumer::Partition.new(partition, offset)
222
+ tpl.to_h[name].reverse!
223
+ tpl.to_h[name].uniq!(&:partition)
224
+ tpl.to_h[name].reverse!
215
225
  end
216
226
  end
217
227
  end
@@ -15,13 +15,13 @@ module Karafka
15
15
  # Skip verification if web is not used at all
16
16
  return unless require_version('karafka/web')
17
17
 
18
- # All good if version higher than 0.8.1 because we expect 0.8.2 or higher
19
- return if version(Karafka::Web::VERSION) >= version('0.8.2')
18
+ # All good if version higher than 0.9.0.rc1 because we expect 0.9.0.rc1 or higher
19
+ return if version(Karafka::Web::VERSION) >= version('0.9.0.rc1')
20
20
 
21
21
  # If older web-ui used, we cannot allow it
22
22
  raise(
23
23
  Errors::DependencyConstraintsError,
24
- 'karafka-web < 0.8.2 is not compatible with this karafka version'
24
+ 'karafka-web < 0.9.0 is not compatible with this karafka version'
25
25
  )
26
26
  end
27
27
 
@@ -3,5 +3,5 @@
3
3
  # Main module namespace
4
4
  module Karafka
5
5
  # Current Karafka version
6
- VERSION = '2.4.0.beta1'
6
+ VERSION = '2.4.0.beta2'
7
7
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: karafka
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.0.beta1
4
+ version: 2.4.0.beta2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maciej Mensfeld
@@ -35,7 +35,7 @@ cert_chain:
35
35
  AnG1dJU+yL2BK7vaVytLTstJME5mepSZ46qqIJXMuWob/YPDmVaBF39TDSG9e34s
36
36
  msG3BiCqgOgHAnL23+CN3Rt8MsuRfEtoTKpJVcCfoEoNHOkc
37
37
  -----END CERTIFICATE-----
38
- date: 2024-04-10 00:00:00.000000000 Z
38
+ date: 2024-04-11 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: karafka-core
metadata.gz.sig CHANGED
Binary file