karafka 2.4.0.beta1 → 2.4.0.rc1

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: 0d682c1f18dd2c0bba4048462095d2129f7758bcbafb810a52f3e2e1515c5e47
4
+ data.tar.gz: bd4c87fda52f44b61cbcb579369343b327ce04b2229e0903642a6c5a537072eb
5
5
  SHA512:
6
- metadata.gz: 614cc7507dd865a8efde56e40a77f694efb268c4a877917834a7e23d78175cb9ddb4574ccaac75db86fea1e1de1eae17f4df694251268d90f2822a4868cddf0d
7
- data.tar.gz: f6ec801b2e47e531bcd4be2fd6e9e8bc01837b6218ffea1b3e187edc450fa519d2fb5f0fa8a69f5b0e67aabff8496aac1dbbc156bb45c2dd02b1ea495fb5710f
6
+ metadata.gz: 5ced4aea757aa2bda21ac9a3519344389a7f03a3229b849e3c05fce262494cd3c8f58c1544f1c94fab02559def0f5b1c4c2165933bef6af8559a3b9a19e86299
7
+ data.tar.gz: c5f4a61cd58554d62fd9ce48a627d8bc4266eb4a244d08ec7ed9ca04006c2e19f113698262d09caa743c8c6896c49666d454fb93b7fdf81d17c3c9ce4a561dd8
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,9 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- karafka (2.4.0.beta1)
5
- karafka-core (>= 2.4.0.rc1, < 2.5.0)
6
- waterdrop (>= 2.7.0.rc1, < 3.0.0)
4
+ karafka (2.4.0.rc1)
5
+ karafka-core (>= 2.4.0.rc2, < 2.5.0)
6
+ waterdrop (>= 2.7.0.rc2, < 3.0.0)
7
7
  zeitwerk (~> 2.3)
8
8
 
9
9
  GEM
@@ -38,27 +38,27 @@ GEM
38
38
  activesupport (>= 6.1)
39
39
  i18n (1.14.4)
40
40
  concurrent-ruby (~> 1.0)
41
- karafka-core (2.4.0.rc1)
42
- karafka-rdkafka (>= 0.15.0.rc1, < 0.16.0)
43
- karafka-rdkafka (0.15.0.rc1)
41
+ karafka-core (2.4.0.rc2)
42
+ karafka-rdkafka (>= 0.15.0.rc2, < 0.16.0)
43
+ karafka-rdkafka (0.15.0.rc2)
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.rc2)
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
- mini_portile2 (2.8.5)
56
+ mini_portile2 (2.8.6)
57
57
  minitest (5.22.3)
58
58
  mutex_m (0.2.0)
59
59
  rack (3.0.10)
60
- rake (13.1.0)
61
- roda (3.78.0)
60
+ rake (13.2.1)
61
+ roda (3.79.0)
62
62
  rack
63
63
  rspec (3.13.0)
64
64
  rspec-core (~> 3.13.0)
@@ -82,8 +82,8 @@ GEM
82
82
  tilt (2.3.0)
83
83
  tzinfo (2.0.6)
84
84
  concurrent-ruby (~> 1.0)
85
- waterdrop (2.7.0.rc1)
86
- karafka-core (>= 2.4.0.rc1, < 3.0.0)
85
+ waterdrop (2.7.0.rc2)
86
+ karafka-core (>= 2.4.0.rc2, < 3.0.0)
87
87
  zeitwerk (~> 2.3)
88
88
  zeitwerk (2.6.13)
89
89
 
@@ -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/docker-compose.yml CHANGED
@@ -3,7 +3,7 @@ version: '2'
3
3
  services:
4
4
  kafka:
5
5
  container_name: kafka
6
- image: confluentinc/cp-kafka:7.6.0
6
+ image: confluentinc/cp-kafka:7.6.1
7
7
 
8
8
  ports:
9
9
  - 9092:9092
data/karafka.gemspec CHANGED
@@ -21,8 +21,8 @@ Gem::Specification.new do |spec|
21
21
  without having to focus on things that are not your business domain.
22
22
  DESC
23
23
 
24
- spec.add_dependency 'karafka-core', '>= 2.4.0.rc1', '< 2.5.0'
25
- spec.add_dependency 'waterdrop', '>= 2.7.0.rc1', '< 3.0.0'
24
+ spec.add_dependency 'karafka-core', '>= 2.4.0.rc2', '< 2.5.0'
25
+ spec.add_dependency 'waterdrop', '>= 2.7.0.rc2', '< 3.0.0'
26
26
  spec.add_dependency 'zeitwerk', '~> 2.3'
27
27
 
28
28
  spec.required_ruby_version = '>= 3.0.0'
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.rc1'
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.rc1
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-18 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: karafka-core
@@ -43,7 +43,7 @@ dependencies:
43
43
  requirements:
44
44
  - - ">="
45
45
  - !ruby/object:Gem::Version
46
- version: 2.4.0.rc1
46
+ version: 2.4.0.rc2
47
47
  - - "<"
48
48
  - !ruby/object:Gem::Version
49
49
  version: 2.5.0
@@ -53,7 +53,7 @@ dependencies:
53
53
  requirements:
54
54
  - - ">="
55
55
  - !ruby/object:Gem::Version
56
- version: 2.4.0.rc1
56
+ version: 2.4.0.rc2
57
57
  - - "<"
58
58
  - !ruby/object:Gem::Version
59
59
  version: 2.5.0
@@ -63,7 +63,7 @@ dependencies:
63
63
  requirements:
64
64
  - - ">="
65
65
  - !ruby/object:Gem::Version
66
- version: 2.7.0.rc1
66
+ version: 2.7.0.rc2
67
67
  - - "<"
68
68
  - !ruby/object:Gem::Version
69
69
  version: 3.0.0
@@ -73,7 +73,7 @@ dependencies:
73
73
  requirements:
74
74
  - - ">="
75
75
  - !ruby/object:Gem::Version
76
- version: 2.7.0.rc1
76
+ version: 2.7.0.rc2
77
77
  - - "<"
78
78
  - !ruby/object:Gem::Version
79
79
  version: 3.0.0
metadata.gz.sig CHANGED
Binary file