mongo_ha 2.5.0 → 2.5.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 +4 -4
- data/lib/mongo_ha/retryable.rb +11 -25
- data/lib/mongo_ha/version.rb +2 -2
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: eaf8486b5f343d3ef3a04eaf534c2e27d4a1fc392c257a2fc3345b07d1e07358
|
4
|
+
data.tar.gz: 464f54bc8ff8c19618aad18c9e5d6613429b1aec7f2e47ff58d503b97eeef99d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a7f48ad7a201e8819d2386e37e012b9a56ff0ad4dde1fb968f8d77598de22273882717084091d8994d7ba93483c3e59f9f9be58e2addd6733d76223ba26594d9
|
7
|
+
data.tar.gz: 84d886c29f741f79bb9680048d918ee1ee50ebcab3a0b3dad586cc152eeb49ba653a48fd0a52cbdf7920f8cdd617b2eb7dcba1aa7a0a42d1df360c42c89d2cf7
|
data/lib/mongo_ha/retryable.rb
CHANGED
@@ -2,42 +2,28 @@ require 'mongo/retryable'
|
|
2
2
|
|
3
3
|
module Mongo
|
4
4
|
module Retryable
|
5
|
-
|
6
|
-
def read_with_retry
|
5
|
+
def legacy_write_with_retry(server = nil)
|
7
6
|
attempt = 0
|
8
7
|
begin
|
9
8
|
attempt += 1
|
10
|
-
yield
|
9
|
+
yield(server || cluster.next_primary)
|
11
10
|
rescue Error::SocketError, Error::SocketTimeoutError => e
|
11
|
+
server = nil
|
12
12
|
raise(e) if attempt > cluster.max_read_retries
|
13
13
|
log_retry(e)
|
14
14
|
cluster.scan!
|
15
15
|
retry
|
16
16
|
rescue Error::OperationFailure => e
|
17
|
-
|
18
|
-
log_retry(e)
|
19
|
-
cluster.sharded? ? sleep(cluster.read_retry_interval) : cluster.scan!
|
20
|
-
retry
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
def write_with_retry(session, server_selector)
|
25
|
-
attempt = 0
|
26
|
-
begin
|
27
|
-
attempt += 1
|
28
|
-
yield(server_selector.call)
|
29
|
-
rescue Error::SocketError, Error::SocketTimeoutError => e
|
17
|
+
server = nil
|
30
18
|
raise(e) if attempt > cluster.max_read_retries
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
retry
|
19
|
+
if e.write_retryable?
|
20
|
+
log_retry(e)
|
21
|
+
cluster.scan!
|
22
|
+
retry
|
23
|
+
else
|
24
|
+
raise(e)
|
25
|
+
end
|
39
26
|
end
|
40
27
|
end
|
41
|
-
|
42
28
|
end
|
43
29
|
end
|
data/lib/mongo_ha/version.rb
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
module MongoHA
|
2
|
-
VERSION = '2.5.
|
1
|
+
module MongoHA
|
2
|
+
VERSION = '2.5.1'.freeze
|
3
3
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mongo_ha
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.5.
|
4
|
+
version: 2.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Reid Morrison
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-04-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mongo
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 2.5.
|
19
|
+
version: 2.5.1
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 2.5.
|
26
|
+
version: 2.5.1
|
27
27
|
description: Automatic reconnects and recovery when replica-set changes, or connections
|
28
28
|
are lost, with transparent recovery
|
29
29
|
email:
|
@@ -57,7 +57,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
57
57
|
version: '0'
|
58
58
|
requirements: []
|
59
59
|
rubyforge_project:
|
60
|
-
rubygems_version: 2.7.
|
60
|
+
rubygems_version: 2.7.6
|
61
61
|
signing_key:
|
62
62
|
specification_version: 4
|
63
63
|
summary: High availability for the mongo ruby driver
|