activerecord-mysql-reconnect 0.3.4 → 0.3.5
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
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ae0956c41a7eeb006c0eb44216a288db43d76d4e
|
4
|
+
data.tar.gz: f14f9a4216ce0bbe51dcb9d04040082915520eda
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 296b46697e351bce23eaf245777683d4cc25bd6ea273b4481bab4165a747a6b3daed6723a999aa74bd8f89a01d44ef648dfa76cbe44640c15dc506846d6eede1
|
7
|
+
data.tar.gz: ad5d74f3fd662d64d1abd98ff57b6948da3c8758623c8f1782e575c50d70258e54b9941f7e29ab98fc48f535c5688a194571564139ef0872fe5dcd40c6aa7574
|
data/README.md
CHANGED
@@ -53,7 +53,7 @@ Stopping mysqld: [ OK ]
|
|
53
53
|
Starting mysqld: [ OK ]
|
54
54
|
(0.4ms) SELECT COUNT(*) FROM `employees`
|
55
55
|
Mysql2::Error: MySQL server has gone away: SELECT COUNT(*) FROM `employees`
|
56
|
-
MySQL server has gone away. Trying to reconnect in 0.5 seconds.
|
56
|
+
MySQL server has gone away. Trying to reconnect in 0.5 seconds. (cause: Mysql2::Error: MySQL server has gone away: SELECT COUNT(*) FROM `employees` [ActiveRecord::StatementInvalid], connection: host=127.0.0.1;database=employees;username=root)
|
57
57
|
(101.5ms) SELECT COUNT(*) FROM `employees`
|
58
58
|
300024
|
59
59
|
```
|
@@ -91,7 +91,7 @@ MyApp::Application.configure do
|
|
91
91
|
...
|
92
92
|
config.active_record.enable_retry = true
|
93
93
|
#config.active_record.retry_databases = :employees # or [:employees], ['employees']
|
94
|
-
# retry_databases ->
|
94
|
+
# retry_databases -> nil: retry all databases (default)
|
95
95
|
config.active_record.execution_tries = 10 # times
|
96
96
|
# execution_tries -> 0: retry indefinitely
|
97
97
|
config.active_record.execution_retry_wait = 1.5 # sec
|
@@ -18,12 +18,11 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.require_paths = ['lib']
|
20
20
|
|
21
|
-
# '~> 3.2.
|
21
|
+
# '~> 3.2.19' or '~> 4.0.8' or '~> 4.1.4'
|
22
22
|
spec.add_dependency 'activerecord'
|
23
|
-
spec.add_dependency 'activesupport'
|
24
23
|
spec.add_dependency 'mysql2'
|
25
24
|
spec.add_development_dependency 'bundler', '~> 1.3'
|
26
25
|
spec.add_development_dependency 'rake'
|
27
|
-
spec.add_development_dependency 'rspec', '>= 2.14.1'
|
26
|
+
spec.add_development_dependency 'rspec', '>= 2.14.1', '< 3.0.0'
|
28
27
|
spec.add_development_dependency 'rspec-instafail'
|
29
28
|
end
|
@@ -40,6 +40,8 @@ module Activerecord::Mysql::Reconnect
|
|
40
40
|
'Query execution was interrupted',
|
41
41
|
'Access denied for user',
|
42
42
|
'The MySQL server is running with the --read-only option',
|
43
|
+
"Can't connect to local MySQL server", # When running in local sandbox, or using a socket file
|
44
|
+
'Unknown MySQL server host', # For DNS blips
|
43
45
|
]
|
44
46
|
|
45
47
|
HANDLE_ERROR_MESSAGES = HANDLE_R_ERROR_MESSAGES + HANDLE_RW_ERROR_MESSAGES
|
@@ -270,12 +270,14 @@ describe 'activerecord-mysql-reconnect' do
|
|
270
270
|
end
|
271
271
|
|
272
272
|
it 'force retry' do
|
273
|
-
sql = "INSERT INTO `employees` (`birth_date`, `emp_no`, `first_name`, `hire_date`, `last_name`) VALUES ('2014-01-09 03:22:25', 1, ''
|
273
|
+
sql = "INSERT INTO `employees` (`birth_date`, `emp_no`, `first_name`, `hire_date`, `last_name`) VALUES ('2014-01-09 03:22:25', 1, 'Scott', '2014-01-09 03:22:25', 'Tiger')"
|
274
274
|
|
275
275
|
expect {
|
276
276
|
ActiveRecord::Base.connection.execute(sql)
|
277
277
|
}.to_not raise_error
|
278
278
|
|
279
|
+
lock_table
|
280
|
+
|
279
281
|
mysql2_error('Lost connection to MySQL server during query') do
|
280
282
|
expect {
|
281
283
|
th = thread_run {|do_stop|
|
data/spec/spec_helper.rb
CHANGED
@@ -39,7 +39,7 @@ end
|
|
39
39
|
|
40
40
|
def disable_retry
|
41
41
|
begin
|
42
|
-
expect(ActiveRecord::Base.enable_retry).to
|
42
|
+
expect(ActiveRecord::Base.enable_retry).to be_truthy
|
43
43
|
ActiveRecord::Base.enable_retry = false
|
44
44
|
yield
|
45
45
|
ensure
|
@@ -89,7 +89,7 @@ def thread_run
|
|
89
89
|
|
90
90
|
th.abort_on_exception = true
|
91
91
|
sleep 3
|
92
|
-
expect(thread_running).to
|
92
|
+
expect(thread_running).to be_truthy
|
93
93
|
|
94
94
|
return th
|
95
95
|
end
|
@@ -120,7 +120,7 @@ RSpec.configure do |config|
|
|
120
120
|
end
|
121
121
|
|
122
122
|
config.before(:each) do
|
123
|
-
desc =
|
123
|
+
desc = RSpec.current_example.metadata[:full_description]
|
124
124
|
puts <<-EOS
|
125
125
|
|
126
126
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activerecord-mysql-reconnect
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Genki Sugawara
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-07-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|
@@ -24,20 +24,6 @@ dependencies:
|
|
24
24
|
- - '>='
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: activesupport
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - '>='
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '0'
|
34
|
-
type: :runtime
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - '>='
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '0'
|
41
27
|
- !ruby/object:Gem::Dependency
|
42
28
|
name: mysql2
|
43
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -87,6 +73,9 @@ dependencies:
|
|
87
73
|
- - '>='
|
88
74
|
- !ruby/object:Gem::Version
|
89
75
|
version: 2.14.1
|
76
|
+
- - <
|
77
|
+
- !ruby/object:Gem::Version
|
78
|
+
version: 3.0.0
|
90
79
|
type: :development
|
91
80
|
prerelease: false
|
92
81
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -94,6 +83,9 @@ dependencies:
|
|
94
83
|
- - '>='
|
95
84
|
- !ruby/object:Gem::Version
|
96
85
|
version: 2.14.1
|
86
|
+
- - <
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: 3.0.0
|
97
89
|
- !ruby/object:Gem::Dependency
|
98
90
|
name: rspec-instafail
|
99
91
|
requirement: !ruby/object:Gem::Requirement
|