waterdrop 2.8.4 → 2.8.5

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: 35cafc9c123ce50a97b59e067381fb2f3ca09909e44a6571565c605dc921aac5
4
- data.tar.gz: 6402fc7e0460c58b7fb65706d1c57e239fde3ba262812663cd72c1906590a730
3
+ metadata.gz: 724d3ad251e8ffee9c1fa855dd65059c3fdcedc954f3acb27bedfa226ee4d9f9
4
+ data.tar.gz: 43f902292f2f14a1f40de8650f1549648a821b5faae02978cb3ea179eb4e6100
5
5
  SHA512:
6
- metadata.gz: aab2db95b7b60dda60d21175c7690bf8dfca3b48cc9b8df5616d4bbbda71317e1bc7a2b63f8d24d136b5e69f3bdf9962faee931a19b9f3caccce02d854be9260
7
- data.tar.gz: 49a9d9c4069618a21c4bf141bd8075aa47ecb6b01d8bc9fa2af14d86fb5a54b8946ec96ee1ec3bdd3d5e414f3880b34db3fafc7676cdcd01c523dc38296f18ee
6
+ metadata.gz: 41dd3a79e7d0d6bba6c95ff6c60ba01511a118c069038a93b544c37a389b6e26868654074849fe9671f399ebb114f49537c1237f4431be463f25d9f52925e596
7
+ data.tar.gz: 51e22d8a542075b1e1c83c5c339b89b20f1db313614b6edbf573e59387b43bcd516d9e30e5f613b02691786ae8dc8166bc471581bc8d780eb6eafbe17353b666
@@ -1,4 +1,4 @@
1
- name: ci
1
+ name: CI
2
2
 
3
3
  concurrency:
4
4
  group: ${{ github.workflow }}-${{ github.ref }}
@@ -24,6 +24,7 @@ jobs:
24
24
  fail-fast: false
25
25
  matrix:
26
26
  ruby:
27
+ - '3.5.0-preview1'
27
28
  - '3.4'
28
29
  - '3.3'
29
30
  - '3.2'
@@ -39,8 +40,13 @@ jobs:
39
40
  - name: Install package dependencies
40
41
  run: "[ -e $APT_DEPS ] || sudo apt-get install -y --no-install-recommends $APT_DEPS"
41
42
 
43
+ - name: Remove platform-specific ffi entries for Ruby previews
44
+ if: contains(matrix.ruby, '3.5')
45
+ run: |
46
+ ruby -i -ne 'puts $_ unless /^\s*ffi \(.*-.*\)$/' Gemfile.lock
47
+
42
48
  - name: Set up Ruby
43
- uses: ruby/setup-ruby@1a0ff446f5856bdfec298b61a09727c860d9d480 # v1.240.0
49
+ uses: ruby/setup-ruby@a4effe49ee8ee5b8b5091268c473a4628afb5651 # v1.245.0
44
50
  with:
45
51
  ruby-version: ${{matrix.ruby}}
46
52
  bundler-cache: true
@@ -85,7 +91,7 @@ jobs:
85
91
  with:
86
92
  fetch-depth: 0
87
93
  - name: Set up Ruby
88
- uses: ruby/setup-ruby@1a0ff446f5856bdfec298b61a09727c860d9d480 # v1.240.0
94
+ uses: ruby/setup-ruby@a4effe49ee8ee5b8b5091268c473a4628afb5651 # v1.245.0
89
95
  with:
90
96
  ruby-version: 3.4
91
97
  - name: Install latest bundler
@@ -24,7 +24,7 @@ jobs:
24
24
  fetch-depth: 0
25
25
 
26
26
  - name: Set up Ruby
27
- uses: ruby/setup-ruby@84684c07c1965536eb4802c8daf1a77968df0cb1 # v1.239.0
27
+ uses: ruby/setup-ruby@a4effe49ee8ee5b8b5091268c473a4628afb5651 # v1.245.0
28
28
  with:
29
29
  bundler-cache: false
30
30
 
@@ -32,5 +32,4 @@ jobs:
32
32
  run: |
33
33
  bundle install --jobs 4 --retry 3
34
34
 
35
- # Release
36
- - uses: rubygems/release-gem@9e85cb11501bebc2ae661c1500176316d3987059 # v1
35
+ - uses: rubygems/release-gem@a25424ba2ba8b387abc8ef40807c2c85b96cbe32 # v1.1.1
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # WaterDrop changelog
2
2
 
3
+ ## 2.8.5 (2025-06-23)
4
+ - [Enhancement] Normalize topic + partition logs format (single place).
5
+ - [Fix] A producer is not idempotent unless the enable.idempotence config is `true` (ferrous26).
6
+
3
7
  ## 2.8.4 (2025-05-23)
4
8
  - [Change] Require `karafka-rdkafka` `>= 0.19.2` due to new partition count caching usage.
5
9
  - [Change] Move to trusted-publishers and remove signing since no longer needed.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- waterdrop (2.8.4)
4
+ waterdrop (2.8.5)
5
5
  karafka-core (>= 2.4.9, < 3.0.0)
6
6
  karafka-rdkafka (>= 0.19.2)
7
7
  zeitwerk (~> 2.3)
@@ -10,7 +10,7 @@ GEM
10
10
  remote: https://rubygems.org/
11
11
  specs:
12
12
  byebug (12.0.0)
13
- diff-lcs (1.6.1)
13
+ diff-lcs (1.6.2)
14
14
  docile (1.4.1)
15
15
  ffi (1.17.2)
16
16
  ffi (1.17.2-aarch64-linux-gnu)
@@ -26,28 +26,27 @@ GEM
26
26
  karafka-core (2.4.11)
27
27
  karafka-rdkafka (>= 0.17.6, < 0.20.0)
28
28
  logger (>= 1.6.0)
29
- karafka-rdkafka (0.20.0.rc2)
29
+ karafka-rdkafka (0.19.5)
30
30
  ffi (~> 1.15)
31
- logger (>= 1.5)
32
31
  mini_portile2 (~> 2.6)
33
32
  rake (> 12)
34
33
  logger (1.7.0)
35
- mini_portile2 (2.8.8)
36
- ostruct (0.6.1)
37
- rake (13.2.1)
38
- rspec (3.13.0)
34
+ mini_portile2 (2.8.9)
35
+ ostruct (0.6.2)
36
+ rake (13.3.0)
37
+ rspec (3.13.1)
39
38
  rspec-core (~> 3.13.0)
40
39
  rspec-expectations (~> 3.13.0)
41
40
  rspec-mocks (~> 3.13.0)
42
- rspec-core (3.13.3)
41
+ rspec-core (3.13.4)
43
42
  rspec-support (~> 3.13.0)
44
- rspec-expectations (3.13.3)
43
+ rspec-expectations (3.13.5)
45
44
  diff-lcs (>= 1.2.0, < 2.0)
46
45
  rspec-support (~> 3.13.0)
47
- rspec-mocks (3.13.2)
46
+ rspec-mocks (3.13.5)
48
47
  diff-lcs (>= 1.2.0, < 2.0)
49
48
  rspec-support (~> 3.13.0)
50
- rspec-support (3.13.2)
49
+ rspec-support (3.13.4)
51
50
  simplecov (0.22.0)
52
51
  docile (~> 1.1)
53
52
  simplecov-html (~> 0.11)
data/docker-compose.yml CHANGED
@@ -1,7 +1,7 @@
1
1
  services:
2
2
  kafka:
3
3
  container_name: kafka
4
- image: confluentinc/cp-kafka:7.9.1
4
+ image: confluentinc/cp-kafka:8.0.0
5
5
 
6
6
  ports:
7
7
  - 9092:9092
@@ -166,11 +166,11 @@ module WaterDrop
166
166
  topic = message.topic
167
167
  partition = message.partition
168
168
  offset = message.offset
169
- loc = "#{topic}/#{partition}"
169
+ loc = "#{topic}-#{partition}"
170
170
 
171
171
  info(
172
172
  event,
173
- "Marking message with offset #{offset} for topic #{loc} as consumed in a transaction"
173
+ "Marking message with offset #{offset} on #{loc} as consumed in a transaction"
174
174
  )
175
175
  end
176
176
 
@@ -8,7 +8,7 @@ module WaterDrop
8
8
  #
9
9
  # @param message [Hash] hash that complies with the {Contracts::Message} contract
10
10
  #
11
- # @return [Rdkafka::Producer::DeliveryReport] delivery report
11
+ # @return [Rdkafka::Producer::DeliveryHandle] delivery report
12
12
  #
13
13
  # @raise [Rdkafka::RdkafkaError] When adding the message to rdkafka's queue failed
14
14
  # @raise [Rdkafka::Producer::WaitTimeoutError] When the timeout has been reached and the
@@ -49,7 +49,7 @@ module WaterDrop
49
49
  # @param messages [Array<Hash>] array with messages that comply with the
50
50
  # {Contracts::Message} contract
51
51
  #
52
- # @return [Array<Rdkafka::Producer::DeliveryReport>] delivery reports
52
+ # @return [Array<Rdkafka::Producer::DeliveryHandle>] delivery reports
53
53
  #
54
54
  # @raise [Rdkafka::RdkafkaError] When adding the messages to rdkafka's queue failed
55
55
  # @raise [Rdkafka::Producer::WaitTimeoutError] When the timeout has been reached and some
@@ -169,7 +169,7 @@ module WaterDrop
169
169
  return true if transactional?
170
170
  return @idempotent if instance_variable_defined?(:'@idempotent')
171
171
 
172
- @idempotent = config.kafka.to_h.key?(:'enable.idempotence')
172
+ @idempotent = config.kafka.to_h.fetch(:'enable.idempotence', false)
173
173
  end
174
174
 
175
175
  # Returns and caches the middleware object that may be used
@@ -3,5 +3,5 @@
3
3
  # WaterDrop library
4
4
  module WaterDrop
5
5
  # Current WaterDrop version
6
- VERSION = '2.8.4'
6
+ VERSION = '2.8.5'
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: waterdrop
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.8.4
4
+ version: 2.8.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maciej Mensfeld