Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Deprecate verification_timeout and verify before reset

Signed-off-by: Michael Koziarski <michael@koziarski.com>
  • Loading branch information...
commit 7ba28726150f5d4ee3b3cb676d6b73cc3b62e186 1 parent f54be2c
@nicksieger nicksieger authored NZKoz committed
View
6 activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb
@@ -35,7 +35,6 @@ module ConnectionAdapters
# * +wait_timeout+: number of seconds to block and wait for a connection
# before giving up and raising a timeout error (default 5 seconds).
class ConnectionPool
- delegate :verification_timeout, :to => "::ActiveRecord::Base"
attr_reader :spec
def initialize(spec)
@@ -60,7 +59,6 @@ def initialize(spec)
# held in a hash keyed by the thread id.
def connection
if conn = @reserved_connections[current_connection_id]
- conn.verify!(verification_timeout)
conn
else
@reserved_connections[current_connection_id] = checkout
@@ -118,7 +116,7 @@ def clear_reloadable_connections!
def verify_active_connections! #:nodoc:
clear_stale_cached_connections!
@connections.each do |connection|
- connection.verify!(verification_timeout)
+ connection.verify!
end
end
@@ -200,8 +198,8 @@ def checkout_existing_connection
end
def checkout_and_verify(c)
+ c.verify!
c.run_callbacks :checkout
- c.verify!(verification_timeout)
@checked_out << c
c
end
View
15 activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb
@@ -7,11 +7,6 @@ def initialize (config, adapter_method)
end
end
- # Check for activity after at least +verification_timeout+ seconds.
- # Defaults to 0 (always check.)
- cattr_accessor :verification_timeout, :instance_writer => false
- @@verification_timeout = 0
-
# The connection handler
cattr_accessor :connection_handler, :instance_writer => false
@@connection_handler = ConnectionAdapters::ConnectionHandler.new
@@ -101,6 +96,16 @@ def allow_concurrency=(flag)
ActiveSupport::Deprecation.warn("ActiveRecord::Base.allow_concurrency= has been deprecated and no longer has any effect. Please remove all references to allow_concurrency=.")
end
+ # Deprecated and no longer has any effect.
+ def verification_timeout
+ ActiveSupport::Deprecation.warn("ActiveRecord::Base.verification_timeout has been deprecated and no longer has any effect. Please remove all references to verification_timeout.")
+ end
+
+ # Deprecated and no longer has any effect.
+ def verification_timeout=(flag)
+ ActiveSupport::Deprecation.warn("ActiveRecord::Base.verification_timeout= has been deprecated and no longer has any effect. Please remove all references to verification_timeout=.")
+ end
+
# Returns the connection currently associated with the class. This can
# also be used to "borrow" the connection to do database work unrelated
# to any of the specific Active Records.
View
12 activerecord/lib/active_record/connection_adapters/abstract_adapter.rb
@@ -123,14 +123,10 @@ def requires_reloading?
false
end
- # Lazily verify this connection, calling <tt>active?</tt> only if it
- # hasn't been called for +timeout+ seconds.
- def verify!(timeout)
- now = Time.now.to_i
- if (now - @last_verification) > timeout
- reconnect! unless active?
- @last_verification = now
- end
+ # Verify this connection by calling <tt>active?</tt> and reconnecting if
+ # the connection is no longer active.
+ def verify!(*ignored)
+ reconnect! unless active?
end
# Provides access to the underlying database connection. Useful for
View
2  activerecord/test/cases/base_test.rb
@@ -880,7 +880,7 @@ def test_mass_assignment_protection
def test_mass_assignment_protection_against_class_attribute_writers
[:logger, :configurations, :primary_key_prefix_type, :table_name_prefix, :table_name_suffix, :pluralize_table_names, :colorize_logging,
- :default_timezone, :schema_format, :verification_timeout, :lock_optimistically, :record_timestamps].each do |method|
+ :default_timezone, :schema_format, :lock_optimistically, :record_timestamps].each do |method|
assert Task.respond_to?(method)
assert Task.respond_to?("#{method}=")
assert Task.new.respond_to?(method)
View
2  activerecord/test/cases/connection_test_mysql.rb
@@ -24,7 +24,7 @@ def test_successful_reconnection_after_timeout_with_verify
assert @connection.active?
@connection.update('set @@wait_timeout=1')
sleep 2
- @connection.verify!(0)
+ @connection.verify!
assert @connection.active?
end
end
Please sign in to comment.
Something went wrong with that request. Please try again.