提交 7ba28726 编写于 作者: N Nick Sieger 提交者: Michael Koziarski

Deprecate verification_timeout and verify before reset

Signed-off-by: NMichael Koziarski <michael@koziarski.com>
上级 f54be2cb
......@@ -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
......
......@@ -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.
......
......@@ -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
......
......@@ -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)
......
......@@ -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
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册