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: 9feafc3ddcaeba6d385f2d99565689efcaa3c46b
4
- data.tar.gz: 5c74370dd16ba0e406eccd436140da9c74c62cf7
3
+ metadata.gz: ae0956c41a7eeb006c0eb44216a288db43d76d4e
4
+ data.tar.gz: f14f9a4216ce0bbe51dcb9d04040082915520eda
5
5
  SHA512:
6
- metadata.gz: 3166411ed87951ce3c42cb8626b4378b2da20c6d87a79963632b00fc74f819e9aa7fa1880760c9fdcb86462a3b15bf4cbb2443258282f051f44bcf25a4160e20
7
- data.tar.gz: 98212109f565974bc9f4a04731d7fbe754bfbfedf453ac02cf8cc7588d1b437321a918de915d728cb49aaa0cc6c13047c95603b29aef9a1e525303be00c2e888
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 -> 0: retry all databases (default)
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.14' or '~> 4.0.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
@@ -1,7 +1,7 @@
1
1
  module Activerecord
2
2
  module Mysql
3
3
  module Reconnect
4
- VERSION = '0.3.4'
4
+ VERSION = '0.3.5'
5
5
  end
6
6
  end
7
7
  end
@@ -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, '' + sleep(10) + '', '2014-01-09 03:22:25', 'Tiger')"
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|
@@ -39,7 +39,7 @@ end
39
39
 
40
40
  def disable_retry
41
41
  begin
42
- expect(ActiveRecord::Base.enable_retry).to be_true
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 be_true
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 = example.metadata[:full_description]
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
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-03-30 00:00:00.000000000 Z
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