karafka 2.2.8.beta1 → 2.2.9

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: facd28537bbd9b1f5a7e6956c82b704a97efafdfdcea5ed9959991f129ba2ed4
4
- data.tar.gz: 4b6ca5058a07fadf7c95fa96eb08ff7820b44d4bafc43ebdaf0a7fe16cb35fd2
3
+ metadata.gz: 71ed12ebff017d2ea4ded639fc745c09c3edf198456b2eb3a4d6e3f1740be925
4
+ data.tar.gz: de696bd36d0af383eed008492ab0fd71dc0395515b56fe050ca93765631cbcb9
5
5
  SHA512:
6
- metadata.gz: fd8cda16faa8d1267b934d2ccc189e6981c21be8cc4fed60042776a6370c93481b99981117d2572a52ada12ea9268877e339a5007284aa2413135ace5a078241
7
- data.tar.gz: e765bb3a3c6de52bd6dbd12a7268d18c03cb1454068dff19ebc49d1c5a7850058b8b0853e744c6a16f07bc7f3883bf8681df19a10c0babc70defca1dbdee2b19
6
+ metadata.gz: 14be5b79b7e25ca006bc3d1eecd6706c0beaec38b67ec949e5fc064bc1b883468a0eedb7dabf10d61f9ecf197ec2f476bf413f9382368203437d171318269312
7
+ data.tar.gz: c6fa615fe8eb7c36f5804421c392c13241d4fd0d3250039f08c0a146cb68cae1b58aac0a9e75c8019b7c13eb743867afd9df229063ee2d8e405e64464a2bb523
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -1,6 +1,10 @@
1
1
  # Karafka framework changelog
2
2
 
3
- ## 2.2.8 (Unreleased)
3
+ ## 2.2.9 (2023-10-24)
4
+ - [Improvement] Allow using negative offset references in `Karafka::Admin#read_topic`.
5
+ - [Change] Make sure that WaterDrop `2.6.10` or higher is used with this release to support transactions fully and the Web-UI.
6
+
7
+ ## 2.2.8 (2023-10-20)
4
8
  - **[Feature]** Introduce Appsignal integration for errors and metrics tracking.
5
9
  - [Improvement] Expose `#synchronize` for VPs to allow for locks when cross-VP consumers work is needed.
6
10
  - [Improvement] Provide `#collapse_until!` direct consumer API to allow for collapsed virtual partitions consumer operations together with the Filtering API for advanced use-cases.
data/Gemfile.lock CHANGED
@@ -1,52 +1,63 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- karafka (2.2.8.beta1)
4
+ karafka (2.2.9)
5
5
  karafka-core (>= 2.2.2, < 2.3.0)
6
- waterdrop (>= 2.6.6, < 3.0.0)
6
+ waterdrop (>= 2.6.10, < 3.0.0)
7
7
  zeitwerk (~> 2.3)
8
8
 
9
9
  GEM
10
10
  remote: https://rubygems.org/
11
11
  specs:
12
- activejob (7.0.8)
13
- activesupport (= 7.0.8)
12
+ activejob (7.1.1)
13
+ activesupport (= 7.1.1)
14
14
  globalid (>= 0.3.6)
15
- activesupport (7.0.8)
15
+ activesupport (7.1.1)
16
+ base64
17
+ bigdecimal
16
18
  concurrent-ruby (~> 1.0, >= 1.0.2)
19
+ connection_pool (>= 2.2.5)
20
+ drb
17
21
  i18n (>= 1.6, < 2)
18
22
  minitest (>= 5.1)
23
+ mutex_m
19
24
  tzinfo (~> 2.0)
25
+ base64 (0.1.1)
26
+ bigdecimal (3.1.4)
20
27
  byebug (11.1.3)
21
28
  concurrent-ruby (1.2.2)
29
+ connection_pool (2.4.1)
22
30
  diff-lcs (1.5.0)
23
31
  docile (1.4.0)
32
+ drb (2.1.1)
33
+ ruby2_keywords
24
34
  erubi (1.12.0)
25
35
  factory_bot (6.3.0)
26
36
  activesupport (>= 5.0.0)
27
- ffi (1.15.5)
37
+ ffi (1.16.3)
28
38
  globalid (1.2.1)
29
39
  activesupport (>= 6.1)
30
40
  i18n (1.14.1)
31
41
  concurrent-ruby (~> 1.0)
32
- karafka-core (2.2.2)
42
+ karafka-core (2.2.3)
33
43
  concurrent-ruby (>= 1.1)
34
- karafka-rdkafka (>= 0.13.1, < 0.14.0)
35
- karafka-rdkafka (0.13.5)
44
+ karafka-rdkafka (>= 0.13.6, < 0.14.0)
45
+ karafka-rdkafka (0.13.6)
36
46
  ffi (~> 1.15)
37
47
  mini_portile2 (~> 2.6)
38
48
  rake (> 12)
39
- karafka-web (0.7.6)
49
+ karafka-web (0.7.7)
40
50
  erubi (~> 1.4)
41
- karafka (>= 2.2.6, < 3.0.0)
51
+ karafka (>= 2.2.8.beta1, < 3.0.0)
42
52
  karafka-core (>= 2.2.2, < 3.0.0)
43
53
  roda (~> 3.68, >= 3.69)
44
54
  tilt (~> 2.0)
45
- mini_portile2 (2.8.4)
55
+ mini_portile2 (2.8.5)
46
56
  minitest (5.20.0)
57
+ mutex_m (0.1.2)
47
58
  rack (3.0.8)
48
59
  rake (13.0.6)
49
- roda (3.72.0)
60
+ roda (3.73.0)
50
61
  rack
51
62
  rspec (3.12.0)
52
63
  rspec-core (~> 3.12.0)
@@ -61,6 +72,7 @@ GEM
61
72
  diff-lcs (>= 1.2.0, < 2.0)
62
73
  rspec-support (~> 3.12.0)
63
74
  rspec-support (3.12.1)
75
+ ruby2_keywords (0.0.5)
64
76
  simplecov (0.22.0)
65
77
  docile (~> 1.1)
66
78
  simplecov-html (~> 0.11)
@@ -70,8 +82,8 @@ GEM
70
82
  tilt (2.3.0)
71
83
  tzinfo (2.0.6)
72
84
  concurrent-ruby (~> 1.0)
73
- waterdrop (2.6.7)
74
- karafka-core (>= 2.1.1, < 3.0.0)
85
+ waterdrop (2.6.10)
86
+ karafka-core (>= 2.2.3, < 3.0.0)
75
87
  zeitwerk (~> 2.3)
76
88
  zeitwerk (2.6.12)
77
89
 
data/karafka.gemspec CHANGED
@@ -22,7 +22,7 @@ Gem::Specification.new do |spec|
22
22
  DESC
23
23
 
24
24
  spec.add_dependency 'karafka-core', '>= 2.2.2', '< 2.3.0'
25
- spec.add_dependency 'waterdrop', '>= 2.6.6', '< 3.0.0'
25
+ spec.add_dependency 'waterdrop', '>= 2.6.10', '< 3.0.0'
26
26
  spec.add_dependency 'zeitwerk', '~> 2.3'
27
27
 
28
28
  if $PROGRAM_NAME.end_with?('gem')
data/lib/karafka/admin.rb CHANGED
@@ -18,7 +18,7 @@ module Karafka
18
18
  # @param count [Integer] how many messages we want to get at most
19
19
  # @param start_offset [Integer, Time] offset from which we should start. If -1 is provided
20
20
  # (default) we will start from the latest offset. If time is provided, the appropriate
21
- # offset will be resolved.
21
+ # offset will be resolved. If negative beyond -1 is provided, we move backwards more.
22
22
  # @param settings [Hash] kafka extra settings (optional)
23
23
  #
24
24
  # @return [Array<Karafka::Messages::Message>] array with messages
@@ -33,8 +33,10 @@ module Karafka
33
33
 
34
34
  low_offset, high_offset = consumer.query_watermark_offsets(name, partition)
35
35
 
36
- # Select offset dynamically if -1 or less
37
- start_offset = high_offset - count if start_offset.negative?
36
+ # Select offset dynamically if -1 or less and move backwards with the negative
37
+ # offset, allowing to start from N messages back from high-watermark
38
+ start_offset = high_offset - count - start_offset.abs + 1 if start_offset.negative?
39
+ start_offset = low_offset if start_offset.negative?
38
40
 
39
41
  # Build the requested range - since first element is on the start offset we need to
40
42
  # subtract one from requested count to end up with expected number of elements
@@ -3,5 +3,5 @@
3
3
  # Main module namespace
4
4
  module Karafka
5
5
  # Current Karafka version
6
- VERSION = '2.2.8.beta1'
6
+ VERSION = '2.2.9'
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.2.8.beta1
4
+ version: 2.2.9
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: 2023-10-20 00:00:00.000000000 Z
38
+ date: 2023-10-24 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: karafka-core
@@ -63,7 +63,7 @@ dependencies:
63
63
  requirements:
64
64
  - - ">="
65
65
  - !ruby/object:Gem::Version
66
- version: 2.6.6
66
+ version: 2.6.10
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.6.6
76
+ version: 2.6.10
77
77
  - - "<"
78
78
  - !ruby/object:Gem::Version
79
79
  version: 3.0.0
@@ -450,9 +450,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
450
450
  version: '0'
451
451
  required_rubygems_version: !ruby/object:Gem::Requirement
452
452
  requirements:
453
- - - ">"
453
+ - - ">="
454
454
  - !ruby/object:Gem::Version
455
- version: 1.3.1
455
+ version: '0'
456
456
  requirements: []
457
457
  rubygems_version: 3.4.19
458
458
  signing_key:
metadata.gz.sig CHANGED
Binary file