Suprisingly, I found that setting allow_concurrency made the "MySQL server has gone away" stop occuring even if the MySQL server drops connections. This may be the only change needed to restore compatibility with ActiveRecord 2.1.x
Signed-off-by: Jesse Wolfe <[email protected]> --- lib/puppet/rails.rb | 4 ++++ spec/unit/rails.rb | 11 +++++++++++ 2 files changed, 15 insertions(+), 0 deletions(-) diff --git a/lib/puppet/rails.rb b/lib/puppet/rails.rb index fc8eacd..87f1bb1 100644 --- a/lib/puppet/rails.rb +++ b/lib/puppet/rails.rb @@ -22,6 +22,10 @@ module Puppet::Rails ActiveRecord::Base.logger.level = Logger::DEBUG end + if (::ActiveRecord::VERSION::MAJOR == 2 and ::ActiveRecord::VERSION::MINOR <= 1) + ActiveRecord::Base.allow_concurrency = true + end + ActiveRecord::Base.verify_active_connections! begin diff --git a/spec/unit/rails.rb b/spec/unit/rails.rb index d98c887..6dee55b 100755 --- a/spec/unit/rails.rb +++ b/spec/unit/rails.rb @@ -39,6 +39,7 @@ describe Puppet::Rails, "when initializing any connection" do ActiveRecord::Base.stubs(:logger).returns(logger) logger.expects(:level=).with(Logger::DEBUG) + ActiveRecord::Base.stubs(:allow_concurrency=) ActiveRecord::Base.stubs(:verify_active_connections!) ActiveRecord::Base.stubs(:establish_connection) Puppet::Rails.stubs(:database_arguments) @@ -46,6 +47,16 @@ describe Puppet::Rails, "when initializing any connection" do Puppet::Rails.connect end + describe "on ActiveRecord 2.1.x" do + confine "ActiveRecord 2.1.x" => (::ActiveRecord::VERSION::MAJOR == 2 and ::ActiveRecord::VERSION::MINOR <= 1) + + it "should set ActiveRecord::Base.allow_concurrency" do + ActiveRecord::Base.expects(:allow_concurrency=).with(true) + + Puppet::Rails.connect + end + end + it "should call ActiveRecord::Base.verify_active_connections!" do ActiveRecord::Base.expects(:verify_active_connections!) -- 1.6.3.3 --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Puppet Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/puppet-dev?hl=en -~----------~----~----~----~------~----~------~--~---
