network_resiliency 0.6.0 → 0.6.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9cd120266db1dfb8d2e5b37155534f3d5dc37a560d329352fa1a061ffd19ec97
4
- data.tar.gz: c09fb2b6dc81e74a838e7da9ae9bc7e4d177c9ba7104a3b8e6ecb6b8668ebf97
3
+ metadata.gz: a94a624ababefe0045c52a57be145826d8072f8367d494afdef4892eb81af066
4
+ data.tar.gz: dc1412ead0b212c14d1707236cb76b5d19935ab6d9562cee01ef6a761c70bcb5
5
5
  SHA512:
6
- metadata.gz: 9caeeab2d22c4feea69b03438f8c66588179fe130ef1620935c475654a4661bbba36d82c79b4650fb3bcdead86cf0b5f3e3746513c40d16c8208b6f09ca32e5a
7
- data.tar.gz: 05ad9ab8d5ec490cf6064cc83c54e9132b2a10f4bf6ab8ca0ab83f94d84db706622c951a49ad0de8e0ac7551ce32963fb86ca7aad5d6f47bb0c33162d3ba0e6d
6
+ metadata.gz: 2db8772835afb0358179255e94960499fbfa4bcebcd6bba532e38a0a533b658e9dfd2a94a12de5d7ef29aef372d671e14d04a226b19acddc1621d80617056d7a
7
+ data.tar.gz: b9aa489ff41eecde7aa9bee4e0b8377a8952827dff9a0911272d987bd487fb4b5bdcde02974414bc6ad25b7c6490585282baa4dd189e66a76d5b549743af088f
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ### v0.6.1 (2023-11-21)
2
+ - bugfix
3
+ - redis system errors
4
+
1
5
  ### v0.6.0 (2023-11-21)
2
6
  - http resiliency
3
7
  - redis resilience
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- network_resiliency (0.6.0)
4
+ network_resiliency (0.6.1)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -50,6 +50,9 @@ module NetworkResiliency
50
50
  timeouts = timeouts.last(1)
51
51
  end
52
52
 
53
+ original_max_retries = self.max_retries
54
+ self.max_retries = 0 # disable
55
+
53
56
  attempts = 0
54
57
  ts = -NetworkResiliency.timestamp
55
58
 
@@ -73,6 +76,7 @@ module NetworkResiliency
73
76
  ensure
74
77
  ts += NetworkResiliency.timestamp
75
78
  set_timeout.call(original_timeout)
79
+ self.max_retries = original_max_retries
76
80
 
77
81
  NetworkResiliency.record(
78
82
  adapter: "http",
@@ -107,12 +111,7 @@ module NetworkResiliency
107
111
 
108
112
  idepotent = Net::HTTP::IDEMPOTENT_METHODS_.include?(req.method)
109
113
 
110
- retries = self.max_retries
111
- self.max_retries = 0 # disable
112
-
113
114
  with_resilience(:request, destination, idepotent) { super }
114
- ensure
115
- self.max_retries = retries
116
115
  end
117
116
  end
118
117
  end
@@ -83,11 +83,15 @@ module NetworkResiliency
83
83
  @options[timeout_key] = timeouts.shift
84
84
 
85
85
  yield
86
- rescue ::Redis::BaseConnectionError => e
86
+ rescue ::Redis::BaseConnectionError, SystemCallError => e
87
87
  # capture error
88
88
 
89
89
  # grab underlying exception within Redis wrapper
90
- error = e.cause.class
90
+ error = if e.is_a?(::Redis::BaseConnectionError)
91
+ e.cause.class
92
+ else
93
+ e.class
94
+ end
91
95
 
92
96
  retry if timeouts.size > 0
93
97
 
@@ -1,3 +1,3 @@
1
1
  module NetworkResiliency
2
- VERSION = "0.6.0"
2
+ VERSION = "0.6.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: network_resiliency
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Pepper