apisonator 3.4.2 → 3.4.3

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: 356ca549dce065646329337096b0c3233ea3be1fdf599b135c144f5c887e5754
4
- data.tar.gz: 04af4be3b14ce0299bbefc968349e7f063222d9a61d10557a4ffade0a5c683db
3
+ metadata.gz: bb8035c96211d326fdd9231d4f7d92303ca0821d813cc01b2e44bef5c9ec8f4b
4
+ data.tar.gz: 3fb050d336b0bc774281741590a7b848c63a2ef05300ede3602907fb116b48d0
5
5
  SHA512:
6
- metadata.gz: 850c97fc6f5835da57e1918881aa2f4ce0e086fb550c2bda024b98c9e1e62b829aadb1f0b45dd7b690aa0bd5b5cfb712de1d4914f39eab8caa5107e28c48f600
7
- data.tar.gz: 0d45268818cd98bf0c8684fe1340544e230c85fdef7d05b4f37d0c1db4d963d21fc2f50455bf1226619276ec6402c3be3af9ee755b783f8ee5d2ec5c300b8e66
6
+ metadata.gz: a7fd9acbfaf34c91682cce1fe47014dfcca36895e5520970fcc1b9a7c2d583ee2c467c21c87a41328d1c7331a192b104324a403a5888a55cfc22a7835e646ee4
7
+ data.tar.gz: 74004a2879c25b1cbab73369f5d261e64eac2ed0ce218758d4605322361eae88058caf2f512fbe993d98e6958251ecb55305171e5f93e2178131a75a5ee8157d
data/CHANGELOG.md CHANGED
@@ -2,6 +2,14 @@
2
2
 
3
3
  Notable changes to Apisonator will be tracked in this document.
4
4
 
5
+ ## 3.4.3 - 2021-06-23
6
+
7
+ ### Fixed
8
+
9
+ - Fixed bug that causes Apisonator to stop pinging Porta to fetch events. This
10
+ bug triggers very rarely
11
+ ([#292](https://github.com/3scale/apisonator/pull/292)).
12
+
5
13
  ## 3.4.2 - 2021-06-17
6
14
 
7
15
  ### Fixed
data/Gemfile.lock CHANGED
@@ -36,7 +36,7 @@ GIT
36
36
  PATH
37
37
  remote: .
38
38
  specs:
39
- apisonator (3.4.2)
39
+ apisonator (3.4.3)
40
40
 
41
41
  GEM
42
42
  remote: https://rubygems.org/
data/Gemfile.on_prem.lock CHANGED
@@ -36,7 +36,7 @@ GIT
36
36
  PATH
37
37
  remote: .
38
38
  specs:
39
- apisonator (3.4.2)
39
+ apisonator (3.4.3)
40
40
 
41
41
  GEM
42
42
  remote: https://rubygems.org/
@@ -4,7 +4,10 @@ module ThreeScale
4
4
  module Backend
5
5
  class EventStorage
6
6
  PING_TTL = 60
7
- EVENT_TYPES = [:first_traffic, :first_daily_traffic, :alert]
7
+ private_constant :PING_TTL
8
+
9
+ EVENT_TYPES = [:first_traffic, :first_daily_traffic, :alert].freeze
10
+ private_constant :EVENT_TYPES
8
11
 
9
12
  class << self
10
13
  include StorageHelpers
@@ -84,21 +87,15 @@ module ThreeScale
84
87
  URI(events_hook)
85
88
  end
86
89
 
87
- def expire_last_ping
88
- storage.expire(events_ping_key, PING_TTL)
89
- end
90
-
91
90
  def pending_ping?
92
91
  ## the queue is not empty and more than timeout has passed
93
92
  ## since the front-end was notified
94
- events_set_size, ping_key_value = storage.pipelined do
95
- storage.zcard(events_queue_key)
96
- storage.incr(events_ping_key)
93
+ events_set_size, can_ping = storage.pipelined do
94
+ size
95
+ storage.set(events_ping_key, '1'.freeze, ex: PING_TTL, nx: true)
97
96
  end
98
97
 
99
- return false unless ping_key_value.to_i == 1
100
- expire_last_ping
101
- events_set_size > 0
98
+ can_ping && events_set_size > 0
102
99
  end
103
100
 
104
101
  def decode_event(raw_event)
@@ -1,5 +1,5 @@
1
1
  module ThreeScale
2
2
  module Backend
3
- VERSION = '3.4.2'
3
+ VERSION = '3.4.3'
4
4
  end
5
5
  end
data/licenses.xml CHANGED
@@ -23,7 +23,7 @@
23
23
  </dependency>
24
24
  <dependency>
25
25
  <packageName>apisonator</packageName>
26
- <version>3.4.2</version>
26
+ <version>3.4.3</version>
27
27
  <licenses>
28
28
  <license>
29
29
  <name>Apache 2.0</name>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: apisonator
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.4.2
4
+ version: 3.4.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam Ciganek
@@ -16,7 +16,7 @@ authors:
16
16
  autorequire:
17
17
  bindir: bin
18
18
  cert_chain: []
19
- date: 2021-06-17 00:00:00.000000000 Z
19
+ date: 2021-06-23 00:00:00.000000000 Z
20
20
  dependencies: []
21
21
  description: This gem provides a daemon that handles authorization and reporting of
22
22
  web services managed by 3scale.