Multithreaded ActiveRecord requests in rspec

Posted by jeem on Stack Overflow See other posts from Stack Overflow or by jeem
Published on 2010-05-15T18:57:28Z Indexed on 2010/05/16 21:20 UTC
Read the original article Hit count: 127

I'm trying to recreate a race condition in a test, so I can try out some solutions. I find that in the threads I create in my test, ActiveRecord always returns 0 for counts and nil for finds. For example, with 3 rows in the table "foos":

  it "whatever" do
    puts Foo.count
    5.times do
      Thread.new do
        puts Foo.count
      end
    end
  end

will print

3
0
0
0
0
0

test.log shows the expected query, the expected 6 times:

 SELECT count(*) AS count_all FROM `active_agents`

Any idea what's going on here?

© Stack Overflow or respective owner

Related posts about ruby-on-rails

Related posts about ruby