active_record_context, optimistic locking and object reload

It seems that active_record_context (by Rick Olson) and optimistic locking don't play too well together. When I enable active_record_context for the entire design, objects don't properly reload.

This is more or less what I'm doing:

while !ok { begin Transaction {    object1.save!    object2.save!    ok = true }

rescue    object1.reload    object2.reload    ... reapply my changes to the objects ... end }

So, when I'm using active_record_context, which does wonders to the database accesses, it seems that the reload doesn't function correctly. I don't see any database fetches and thus, optimistic locking keeps failing (since the other mongrel instances have changed the data).

active_record_context: http://www.activereload.net/2007/5/23/spend-less-time-in-the-database-and-more-time-outdoors

Any ideas?

Thanks, Helzer

Thanks Fred,

Is there a way for me to force reload from the database? I just need it in a very limited number of places, so doing it manually will not be a problem.

Helzer

Oh, I think I may have run into this without realizing it. I just shuffled my callbacks around a bit and it worked, but I didn't realize this plugin was causing the issue. Um, gmail isn't showing the rest of this conversation, so just send me a proper bug report at Overview - Plugins - ar-code or via email. A patch would be lovely too of course.

Hi Rick,

Funny thing, gmail stopped notifying me about thread additions too... I just created the ticket in lighthouse about this. http://ar-code.lighthouseapp.com/projects/3108-plugins/tickets/5-active_record_context-prevents-object-reload-from-database

Thanks, Amir