network_resiliency 0.6.0 → 0.6.1

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: 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