waterdrop 2.7.0.alpha1 → 2.7.0.alpha3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +1 -0
- data/Gemfile.lock +1 -1
- data/config/locales/errors.yml +0 -1
- data/lib/waterdrop/config.rb +5 -9
- data/lib/waterdrop/contracts/config.rb +0 -1
- data/lib/waterdrop/producer.rb +1 -2
- data/lib/waterdrop/version.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +1 -1
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3a30c157d6e57db9b04d59f4478cff152bc07ea4ed6462c7b9654ffd695b3655
|
4
|
+
data.tar.gz: 96b6c4d6d9b00c24a1e4aef685335d46daf9bd536ad11ef5ddd983ad1eaa97bc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
data/config/locales/errors.yml
CHANGED
@@ -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
|
data/lib/waterdrop/config.rb
CHANGED
@@ -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 `
|
17
|
-
# delivery
|
18
|
-
'message.timeout.ms':
|
19
|
-
# Must be
|
20
|
-
'transaction.timeout.ms':
|
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 }
|
data/lib/waterdrop/producer.rb
CHANGED
@@ -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
|
|
data/lib/waterdrop/version.rb
CHANGED
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
metadata.gz.sig
CHANGED
Binary file
|