Skip to content

Is cache-money threadsafe? #24

@bpardee

Description

@bpardee

I ask because we're converting an MRI app to JRuby and I got the following error which looks like a possible race condition:

undefined method pop' for <MemCache: 1 servers, ns: nil, ro: false>:MemCache [RAILS_ROOT]/vendor/gems/nkallen-cache-money-0.2.5/lib/cash/local.rb:17:inmethod_missing'

RAILS_ROOT]/vendor/gems/nkallen-cache-money-0.2.5/lib/cash/local.rb:17:in method_missing' [RAILS_ROOT]/vendor/gems/nkallen-cache-money-0.2.5/lib/cash/transactional.rb:39:inend_transaction'
[RAILS_ROOT]/vendor/gems/nkallen-cache-money-0.2.5/lib/cash/transactional.rb:19:in transaction' [RAILS_ROOT]/vendor/gems/nkallen-cache-money-0.2.5/lib/cache_money.rb:58:intransaction_with_cache_transaction'
[RAILS_ROOT]/vendor/rails/activerecord/lib/active_record/transactions.rb:228:in with_transaction_returning_status' [RAILS_ROOT]/vendor/rails/activerecord/lib/active_record/transactions.rb:196:insave_with_transactions'
[RAILS_ROOT]/vendor/rails/activerecord/lib/active_record/transactions.rb:208:in rollback_active_record_state!' [RAILS_ROOT]/vendor/rails/activerecord/lib/active_record/transactions.rb:196:insave_with_transactions'
[RAILS_ROOT]/vendor/plugins/active_scaffold/lib/extensions/unsaved_record.rb:15:in `save_with_unsaved_flag'

It looks like an extra end_transaction was called without a matching begin_transaction?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions