waterdrop 2.0.5 → 2.0.6

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: 310a3d7e1a4d0e5825b3a01f59b29c22a9f180c639951763bdf936a23c1119fd
4
- data.tar.gz: f6c0c498266ba067201e7983d5bdea7a0aee7810a403be1cd4f4b3d62ab60633
3
+ metadata.gz: b2effa3419e6eb9a94cf46d6ccfde35ec3dd0579d60e679445436e792e1a30cb
4
+ data.tar.gz: 79aa906b30e78fa183cdb8a37df6c5fc0e4e7a599e350376eb34849d07f094df
5
5
  SHA512:
6
- metadata.gz: 4e486cfa6aa673e008eeaccb8cf920fbb30fce1d23277021d3c6a02e36ee14b8a280e9114b9be778bdb68ba4b07eb2d64371362c454c607edf3c4b57a26a0066
7
- data.tar.gz: 50301b9c5a5e67434f46247b5d1a83e4af2577e0f3b8f251a2795bc48aaba8c59135025e606b8143ca57560a2eac6666c530bd5d1b6059ce2e61d008e1eb9385
6
+ metadata.gz: 588b5f7ec397830a422e42b0d37cd189952f6648761c9cc93d3c50bd664d3f502e0775f731fabc1925fca1ae651c90ce3d3c96aeadc7de3edb79c5155c152211
7
+ data.tar.gz: b94efadeb84cc4033d5b08aeac372f92a2cb7fac8df4e58df62dca55535a152afa9d7078433841b17dd8906a6588ed90110d22cf9dcad9915b659367015be1f2
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # WaterDrop changelog
2
2
 
3
+ ## 2.0.6 (2021-12-01)
4
+ - #218 - Fixes a case, where dispatch of callbacks the same moment a new producer was created could cause a concurrency issue in the manager.
5
+ - Fix some unstable specs.
6
+
3
7
  ## 2.0.5 (2021-11-28)
4
8
 
5
9
  ### Bug fixes
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- waterdrop (2.0.5)
4
+ waterdrop (2.0.6)
5
5
  concurrent-ruby (>= 1.1)
6
6
  dry-configurable (~> 0.13)
7
7
  dry-monitor (~> 0.5)
@@ -13,8 +13,12 @@ module WaterDrop
13
13
  # Invokes all the callbacks registered one after another
14
14
  #
15
15
  # @param args [Object] any args that should go to the callbacks
16
+ # @note We do not use `#each_value` here on purpose. With it being used, we cannot dispatch
17
+ # callbacks and add new at the same time. Since we don't know when and in what thread
18
+ # things are going to be added to the manager, we need to extract values into an array and
19
+ # run it. That way we can add new things the same time.
16
20
  def call(*args)
17
- @callbacks.each_value { |a| a.call(*args) }
21
+ @callbacks.values.each { |callback| callback.call(*args) }
18
22
  end
19
23
 
20
24
  # Adds a callback to the manager
@@ -2,7 +2,6 @@
2
2
 
3
3
  module WaterDrop
4
4
  # Namespace for all the things related with WaterDrop instrumentation process
5
- # @note We do not
6
5
  module Instrumentation
7
6
  class << self
8
7
  # Builds a manager for statistics callbacks
@@ -3,5 +3,5 @@
3
3
  # WaterDrop library
4
4
  module WaterDrop
5
5
  # Current WaterDrop version
6
- VERSION = '2.0.5'
6
+ VERSION = '2.0.6'
7
7
  end
data/waterdrop.gemspec CHANGED
@@ -11,7 +11,7 @@ Gem::Specification.new do |spec|
11
11
  spec.platform = Gem::Platform::RUBY
12
12
  spec.authors = ['Maciej Mensfeld']
13
13
  spec.email = %w[maciej@mensfeld.pl]
14
- spec.homepage = 'https://github.com/karafka/waterdrop'
14
+ spec.homepage = 'https://karafka.io'
15
15
  spec.summary = 'Kafka messaging made easy!'
16
16
  spec.description = spec.summary
17
17
  spec.license = 'MIT'
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.0.5
4
+ version: 2.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maciej Mensfeld
@@ -34,7 +34,7 @@ cert_chain:
34
34
  R2P11bWoCtr70BsccVrN8jEhzwXngMyI2gVt750Y+dbTu1KgRqZKp/ECe7ZzPzXj
35
35
  pIy9vHxTANKYVyI4qj8OrFdEM5BQNu8oQpL0iQ==
36
36
  -----END CERTIFICATE-----
37
- date: 2021-11-28 00:00:00.000000000 Z
37
+ date: 2021-12-01 00:00:00.000000000 Z
38
38
  dependencies:
39
39
  - !ruby/object:Gem::Dependency
40
40
  name: concurrent-ruby
@@ -169,7 +169,7 @@ files:
169
169
  - lib/waterdrop.rb
170
170
  - log/.gitkeep
171
171
  - waterdrop.gemspec
172
- homepage: https://github.com/karafka/waterdrop
172
+ homepage: https://karafka.io
173
173
  licenses:
174
174
  - MIT
175
175
  metadata: {}
@@ -188,7 +188,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
188
188
  - !ruby/object:Gem::Version
189
189
  version: '0'
190
190
  requirements: []
191
- rubygems_version: 3.2.25
191
+ rubygems_version: 3.2.31
192
192
  signing_key:
193
193
  specification_version: 4
194
194
  summary: Kafka messaging made easy!
metadata.gz.sig CHANGED
Binary file