waterdrop 2.7.0.alpha1 → 2.7.0.alpha3

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: 938018b39bca57a68925d61e00a1347c34d3ad536fb73c910589065fc8e6cbca
4
- data.tar.gz: cdad580ebf6e91d51464fb2336f9c78896f3d1b03e96919463c99f141b5dc5ff
3
+ metadata.gz: 3a30c157d6e57db9b04d59f4478cff152bc07ea4ed6462c7b9654ffd695b3655
4
+ data.tar.gz: 96b6c4d6d9b00c24a1e4aef685335d46daf9bd536ad11ef5ddd983ad1eaa97bc
5
5
  SHA512:
6
- metadata.gz: 15e328bfe3135a14b3f61019185bcbb88c56ed2ed01e2a6523439229ee709940c0f38e4d2259e208c785fb06c2326fb290423c88d5213f730120b0a11ea8a152
7
- data.tar.gz: f6642bb5dbc1cb84e923bc5bdc43417bf3f88215eab4a537e3fa14290726e935a45aec0cf640962f3e48615310d639ed1f592cf324b9963e1ff1dc0dabb8cbe2
6
+ metadata.gz: d154491762173b4632d5294186dc97c835d90c6ed8bc3a229500ef698833f1b8304bd3c554c592af138d9fe56694dced89adb78bb4c64ea9ef00679209b9ac24
7
+ data.tar.gz: 721ab6abdfcdbc028200c6c1b8032f5036c661b1e02b1685f4733f9f060ee8465a53ea0e8e0e6c67c01ef59ce12d01aa499ba9406173aea4e20179f74ec5ec81
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -7,6 +7,7 @@ This release contains **BREAKING** changes. Make sure to read and apply upgrade
7
7
  - **[Breaking]** Drop Ruby `2.7` support.
8
8
  - **[Breaking]** Change default timeouts so final delivery `message.timeout.ms` is less that `max_wait_time` so we do not end up with not final verdict.
9
9
  - **[Breaking]** Update all the time related configuration settings to be in `ms` and not mixed.
10
+ - **[Breaking]** Remove no longer needed `wait_timeout` configuration option.
10
11
  - [Enhancement] Introduce `instrument_on_wait_queue_full` flag (defaults to `true`) to be able to configure whether non critical (retryable) queue full errors should be instrumented in the error pipeline. Useful when building high-performance pipes with WaterDrop queue retry backoff as a throttler.
11
12
 
12
13
  ### Upgrade Notes
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- waterdrop (2.7.0.alpha1)
4
+ waterdrop (2.7.0.alpha3)
5
5
  karafka-core (>= 2.4.0.alpha1, < 3.0.0)
6
6
  zeitwerk (~> 2.3)
7
7
 
@@ -6,7 +6,6 @@ en:
6
6
  deliver_format: must be boolean
7
7
  id_format: must be a non-empty string
8
8
  max_payload_size_format: must be an integer that is equal or bigger than 1
9
- wait_timeout_format: must be a numeric that is bigger than 0
10
9
  max_wait_timeout_format: must be an integer that is equal or bigger than 0
11
10
  kafka_format: must be a hash with symbol based keys
12
11
  kafka_key_must_be_a_symbol: All keys under the kafka settings scope need to be symbols
@@ -13,11 +13,11 @@ module WaterDrop
13
13
  # emit librdkafka statistics every five seconds. This is used in instrumentation.
14
14
  # When disabled, part of metrics will not be published and available.
15
15
  'statistics.interval.ms': 5_000,
16
- # We set it to a value that is lower than `max_wait_time` to have a final verdict upon sync
17
- # delivery
18
- 'message.timeout.ms': 55_000,
19
- # Must be less or equal to `message.timeout.ms` defaults
20
- 'transaction.timeout.ms': 45_000
16
+ # We set it to a value that is lower than `max_wait_timeout` to have a final verdict upon
17
+ # sync delivery
18
+ 'message.timeout.ms': 50_000,
19
+ # Must be more or equal to `message.timeout.ms` defaults
20
+ 'transaction.timeout.ms': 55_000
21
21
  }.freeze
22
22
 
23
23
  private_constant :KAFKA_DEFAULTS
@@ -51,10 +51,6 @@ module WaterDrop
51
51
  # option [Integer] Wait that long for the delivery report or raise an error if this takes
52
52
  # longer than the timeout ms.
53
53
  setting :max_wait_timeout, default: 60_000
54
- # option [Numeric] how long should we wait between re-checks on the availability of the
55
- # delivery report. In a really robust systems, this describes the min-delivery time
56
- # for a single sync message when produced in isolation
57
- setting :wait_timeout, default: 5 # 5 milliseconds
58
54
  # option [Boolean] should we upon detecting full librdkafka queue backoff and retry or should
59
55
  # we raise an exception.
60
56
  # When this is set to `true`, upon full queue, we won't raise an error. There will be error
@@ -17,7 +17,6 @@ module WaterDrop
17
17
  required(:deliver) { |val| [true, false].include?(val) }
18
18
  required(:max_payload_size) { |val| val.is_a?(Integer) && val >= 1 }
19
19
  required(:max_wait_timeout) { |val| val.is_a?(Numeric) && val >= 0 }
20
- required(:wait_timeout) { |val| val.is_a?(Numeric) && val.positive? }
21
20
  required(:kafka) { |val| val.is_a?(Hash) && !val.empty? }
22
21
  required(:wait_on_queue_full) { |val| [true, false].include?(val) }
23
22
  required(:wait_backoff_on_queue_full) { |val| val.is_a?(Numeric) && val >= 0 }
@@ -250,8 +250,7 @@ module WaterDrop
250
250
  def wait(handler)
251
251
  handler.wait(
252
252
  # rdkafka max_wait_timeout is in seconds and we use ms
253
- max_wait_timeout: @config.max_wait_timeout / 1_000.0,
254
- wait_timeout: @config.wait_timeout / 1_000.0
253
+ max_wait_timeout: @config.max_wait_timeout / 1_000.0
255
254
  )
256
255
  end
257
256
 
@@ -3,5 +3,5 @@
3
3
  # WaterDrop library
4
4
  module WaterDrop
5
5
  # Current WaterDrop version
6
- VERSION = '2.7.0.alpha1'
6
+ VERSION = '2.7.0.alpha3'
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: waterdrop
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.7.0.alpha1
4
+ version: 2.7.0.alpha3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maciej Mensfeld
metadata.gz.sig CHANGED
Binary file