Skip to content

Commit c90e7cf

Browse files
committed
Mark connection as verified after an #active? ping succeeds
1 parent 2ab0094 commit c90e7cf

File tree

4 files changed

+16
-3
lines changed

4 files changed

+16
-3
lines changed

activerecord/lib/active_record/connection_adapters/mysql2_adapter.rb

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,14 @@ def connected?
106106
end
107107

108108
def active?
109-
connected? && @lock.synchronize { @raw_connection&.ping } || false
109+
if connected?
110+
@lock.synchronize do
111+
if @raw_connection&.ping
112+
verified!
113+
true
114+
end
115+
end
116+
end || false
110117
end
111118

112119
alias :reset! :reconnect!

activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -349,6 +349,7 @@ def active?
349349
@lock.synchronize do
350350
return false unless @raw_connection
351351
@raw_connection.query ";"
352+
verified!
352353
end
353354
true
354355
rescue PG::Error

activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,12 @@ def connected?
207207
!(@raw_connection.nil? || @raw_connection.closed?)
208208
end
209209

210-
alias_method :active?, :connected?
210+
def active?
211+
if connected?
212+
verified!
213+
true
214+
end
215+
end
211216

212217
alias :reset! :reconnect!
213218

activerecord/lib/active_record/connection_adapters/trilogy_adapter.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ def connected?
121121
end
122122

123123
def active?
124-
connected? && @lock.synchronize { @raw_connection&.ping } || false
124+
connected? && @lock.synchronize { @raw_connection&.ping; verified! } || false
125125
rescue ::Trilogy::Error
126126
false
127127
end

0 commit comments

Comments
 (0)