bdurand / seamless_database_pool

Add support for master/slave database clusters in ActiveRecord to improve performance.
http://rdoc.info/projects/bdurand/seamless_database_pool
MIT License
224 stars 58 forks source link

Rails 4 Support not there yet #15

Closed t27duck closed 11 years ago

t27duck commented 11 years ago

In the midst of a Rails 4 upgrade for an app I working, found out that Rails 4 doesn't work with the gem yet.

Looks like the seamless_data_base_pool_adapter needs some work....

undefined method `reset_transaction' for nil:NilClass (NoMethodError)
/home/.rvm/gems/ruby-2.0.0-p195@theapp/gems/seamless_database_pool-1.0.12/lib/active_record/connection_adapters/seamless_database_pool_adapter.rb:336:in `proxy_connection_method'
/home/.rvm/gems/ruby-2.0.0-p195@theapp/gems/seamless_database_pool-1.0.12/lib/active_record/connection_adapters/seamless_database_pool_adapter.rb:122:in `block in reset_transaction'
/home/.rvm/gems/ruby-2.0.0-p195@theapp/gems/seamless_database_pool-1.0.12/lib/active_record/connection_adapters/seamless_database_pool_adapter.rb:243:in `use_master_connection'
/home/.rvm/gems/ruby-2.0.0-p195@theapp/gems/seamless_database_pool-1.0.12/lib/active_record/connection_adapters/seamless_database_pool_adapter.rb:121:in `reset_transaction'
/home/.rvm/gems/ruby-2.0.0-p195@theapp/gems/activerecord-4.0.0.rc1/lib/active_record/connection_adapters/abstract/database_statements.rb:6:in `initialize'
/home/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/2.0.0/monitor.rb:232:in `initialize'
/home/.rvm/gems/ruby-2.0.0-p195@theapp/gems/activerecord-4.0.0.rc1/lib/active_record/connection_adapters/abstract_adapter.rb:90:in `initialize'
/home/.rvm/gems/ruby-2.0.0-p195@theapp/gems/seamless_database_pool-1.0.12/lib/active_record/connection_adapters/seamless_database_pool_adapter.rb:152:in `initialize'
/home/.rvm/gems/ruby-2.0.0-p195@theapp/gems/seamless_database_pool-1.0.12/lib/active_record/connection_adapters/seamless_database_pool_adapter.rb:48:in `new'
/home/.rvm/gems/ruby-2.0.0-p195@theapp/gems/seamless_database_pool-1.0.12/lib/active_record/connection_adapters/seamless_database_pool_adapter.rb:48:in `seamless_database_pool_connection'
/home/.rvm/gems/ruby-2.0.0-p195@theapp/gems/activerecord-4.0.0.rc1/lib/active_record/connection_adapters/abstract/connection_pool.rb:440:in `new_connection'
/home/.rvm/gems/ruby-2.0.0-p195@theapp/gems/activerecord-4.0.0.rc1/lib/active_record/connection_adapters/abstract/connection_pool.rb:450:in `checkout_new_connection'
/home/.rvm/gems/ruby-2.0.0-p195@theapp/gems/activerecord-4.0.0.rc1/lib/active_record/connection_adapters/abstract/connection_pool.rb:421:in `acquire_connection'
/home/.rvm/gems/ruby-2.0.0-p195@theapp/gems/activerecord-4.0.0.rc1/lib/active_record/connection_adapters/abstract/connection_pool.rb:356:in `block in checkout'
/home/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/2.0.0/monitor.rb:211:in `mon_synchronize'
/home/.rvm/gems/ruby-2.0.0-p195@theapp/gems/activerecord-4.0.0.rc1/lib/active_record/connection_adapters/abstract/connection_pool.rb:355:in `checkout'
/home/.rvm/gems/ruby-2.0.0-p195@theapp/gems/activerecord-4.0.0.rc1/lib/active_record/connection_adapters/abstract/connection_pool.rb:265:in `block in connection'
/home/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/2.0.0/monitor.rb:211:in `mon_synchronize'
/home/.rvm/gems/ruby-2.0.0-p195@theapp/gems/activerecord-4.0.0.rc1/lib/active_record/connection_adapters/abstract/connection_pool.rb:264:in `connection'
/home/.rvm/gems/ruby-2.0.0-p195@theapp/gems/activerecord-4.0.0.rc1/lib/active_record/connection_adapters/abstract/connection_pool.rb:546:in `retrieve_connection'
/home/.rvm/gems/ruby-2.0.0-p195@theapp/gems/activerecord-4.0.0.rc1/lib/active_record/connection_handling.rb:79:in `retrieve_connection'
/home/.rvm/gems/ruby-2.0.0-p195@theapp/gems/activerecord-4.0.0.rc1/lib/active_record/connection_handling.rb:53:in `connection'
config/unicorn.rb:16:in `block in reload'
/home/.rvm/gems/ruby-2.0.0-p195@theapp/gems/unicorn-4.6.2/lib/unicorn/http_server.rb:495:in `call'
/home/.rvm/gems/ruby-2.0.0-p195@theapp/gems/unicorn-4.6.2/lib/unicorn/http_server.rb:495:in `spawn_missing_workers'
/home/.rvm/gems/ruby-2.0.0-p195@theapp/gems/unicorn-4.6.2/lib/unicorn/http_server.rb:142:in `start'
/home/.rvm/gems/ruby-2.0.0-p195@theapp/gems/unicorn-4.6.2/bin/unicorn_rails:209:in `<top (required)>'
/home/.rvm/gems/ruby-2.0.0-p195@theapp/bin/unicorn_rails:23:in `load'
/home/.rvm/gems/ruby-2.0.0-p195@theapp/bin/unicorn_rails:23:in `<main>'
/home/.rvm/gems/ruby-2.0.0-p195@theapp/bin/ruby_noexec_wrapper:14:in `eval'
/home/.rvm/gems/ruby-2.0.0-p195@theapp/bin/ruby_noexec_wrapper:14:in `<main>'
bdurand commented 11 years ago

Should be fixed with version 1.0.13