karafka 2.4.0.beta1 → 2.4.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
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