em-synchrony/activerecord not work on ActiveRecord 4.2.1
tianjianyong opened this issue · comments
Error log:
NameError: uninitialized constant ActiveRecord::ConnectionAdapters::ClosedTransaction
/Users/tiger/.rvm/gems/ruby-2.2.2/gems/em-synchrony-1.0.4/lib/em-synchrony/activerecord.rb:92:in reset_transaction' /Users/tiger/.rvm/gems/ruby-2.2.2/gems/activerecord-4.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:6:in
initialize'
/Users/tiger/.rvm/gems/ruby-2.2.2/gems/activerecord-4.2.1/lib/active_record/connection_adapters/abstract/query_cache.rb:24:in initialize' /Users/tiger/.rvm/gems/ruby-2.2.2/gems/activerecord-4.2.1/lib/active_record/connection_adapters/abstract_adapter.rb:102:in
initialize'
/Users/tiger/.rvm/gems/ruby-2.2.2/gems/activerecord-4.2.1/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:163:in initialize' /Users/tiger/.rvm/gems/ruby-2.2.2/gems/activerecord-4.2.1/lib/active_record/connection_adapters/mysql2_adapter.rb:35:in
initialize'
/Users/tiger/.rvm/gems/ruby-2.2.2/gems/em-synchrony-1.0.4/lib/active_record/connection_adapters/em_mysql2_adapter.rb:34:in new' /Users/tiger/.rvm/gems/ruby-2.2.2/gems/em-synchrony-1.0.4/lib/active_record/connection_adapters/em_mysql2_adapter.rb:34:in
em_mysql2_connection'
/Users/tiger/.rvm/gems/ruby-2.2.2/gems/activerecord-4.2.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:438:in new_connection' /Users/tiger/.rvm/gems/ruby-2.2.2/gems/activerecord-4.2.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:448:in
checkout_new_connection'
/Users/tiger/.rvm/gems/ruby-2.2.2/gems/activerecord-4.2.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:422:in acquire_connection' /Users/tiger/.rvm/gems/ruby-2.2.2/gems/activerecord-4.2.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:349:in
block in checkout'
/Users/tiger/.rvm/gems/ruby-2.2.2/gems/activerecord-4.2.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:348:in checkout' /Users/tiger/.rvm/gems/ruby-2.2.2/gems/em-synchrony-1.0.4/lib/em-synchrony/activerecord.rb:12:in
block in connection'
/Users/tiger/.rvm/gems/ruby-2.2.2/gems/em-synchrony-1.0.4/lib/em-synchrony/thread.rb:63:in synchronize' /Users/tiger/.rvm/gems/ruby-2.2.2/gems/em-synchrony-1.0.4/lib/em-synchrony/activerecord.rb:11:in
connection'
/Users/tiger/.rvm/gems/ruby-2.2.2/gems/activerecord-4.2.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:567:in retrieve_connection' /Users/tiger/.rvm/gems/ruby-2.2.2/gems/activerecord-4.2.1/lib/active_record/connection_handling.rb:113:in
retrieve_connection'
/Users/tiger/.rvm/gems/ruby-2.2.2/gems/activerecord-4.2.1/lib/active_record/connection_handling.rb:87:in connection' /Users/tiger/apps/goliath_grape_skeleton/Rakefile:55:in
block (2 levels) in <top (required)>'
The error occurred because ClosedTransaction
was replaced with NullTransaction
rails/rails@057c237.
However, it seems like this PR #190 is quite close to make it compatible with ActiveRecord 4.2
as well 😺