{"number":504,"pull_request":{"number":504,"issue_url":"https://github.com/rails/rails/issues/504","head":{"repo":{"master_branch":null,"name":"rails","created_at":"2011-05-11T00:54:49Z","size":9716,"clone_url":"https://github.com/stephenjudkins/rails.git","private":false,"updated_at":"2011-10-04T14:57:03Z","watchers":1,"ssh_url":"git@github.com:stephenjudkins/rails.git","url":"https://api.github.com/repos/stephenjudkins/rails","git_url":"git://github.com/stephenjudkins/rails.git","language":"Ruby","fork":true,"svn_url":"https://svn.github.com/stephenjudkins/rails","id":1730985,"pushed_at":"2011-05-11T01:09:46Z","open_issues":0,"homepage":"http://rubyonrails.org","description":"Ruby on Rails","forks":0,"html_url":"https://github.com/stephenjudkins/rails","owner":{"avatar_url":"https://secure.gravatar.com/avatar/b12ead92306a438050ef9001cf8247c0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/stephenjudkins","id":8593,"login":"stephenjudkins"}},"label":"stephenjudkins:issue-6773","sha":"3928aca3661b35bfc538d937072d69377a0109ff","ref":"issue-6773","user":{"avatar_url":"https://secure.gravatar.com/avatar/b12ead92306a438050ef9001cf8247c0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/stephenjudkins","id":8593,"login":"stephenjudkins"}},"merged_by":null,"created_at":"2011-05-11T01:16:09Z","changed_files":1,"merged":false,"body":"See https://rails.lighthouseapp.com/projects/8994/tickets/6773-race-condition-in-actioncontrollercachingpages\r\n\r\nNote that I've added both File-based locking, which may not be necessary (but can't hurt), and in-process locking using mutexes which address a real issue we say (we can provide evidence if you're skeptical).\r\n\r\nFor every path cached, we now create a new mutex that stays around forever. This may be a problem if someone is caching an unbounded number of pages; I'm willing to discuss, and volunteer to implement, any alternative solutions. We may want to fall back on a single global mutex, since what we're synchronizing (writing a file to the cache path) should often be very fast.","comments":2,"title":"Address Issue #6773, \"Race condition in ActionController::Caching::Pages\"","additions":30,"diff_url":"https://github.com/rails/rails/pull/504.diff","updated_at":"2011-10-10T05:25:54Z","url":"https://api.github.com/repos/rails/rails/pulls/504","id":142711,"patch_url":"https://github.com/rails/rails/pull/504.patch","mergeable":true,"merged_at":null,"commits":1,"closed_at":"2011-10-10T05:25:54Z","user":{"avatar_url":"https://secure.gravatar.com/avatar/b12ead92306a438050ef9001cf8247c0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/stephenjudkins","id":8593,"login":"stephenjudkins"},"deletions":2,"html_url":"https://github.com/rails/rails/pull/504","base":{"repo":{"master_branch":null,"name":"rails","created_at":"2008-04-11T02:19:47Z","size":13836,"clone_url":"https://github.com/rails/rails.git","private":false,"updated_at":"2011-10-10T03:22:28Z","watchers":10591,"ssh_url":"git@github.com:rails/rails.git","url":"https://api.github.com/repos/rails/rails","git_url":"git://github.com/rails/rails.git","language":"Ruby","fork":false,"svn_url":"https://svn.github.com/rails/rails","id":8514,"pushed_at":"2011-10-10T00:42:49Z","open_issues":494,"homepage":"http://rubyonrails.org","description":"Ruby on Rails","forks":2267,"html_url":"https://github.com/rails/rails","owner":{"avatar_url":"https://secure.gravatar.com/avatar/30f39a09e233e8369dddf6feb4be0308?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","url":"https://api.github.com/users/rails","id":4223,"login":"rails"}},"label":"rails:master","sha":"fa187ec77867ac732b08fd2d5cb4d98712fc3313","ref":"master","user":{"avatar_url":"https://secure.gravatar.com/avatar/30f39a09e233e8369dddf6feb4be0308?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","url":"https://api.github.com/users/rails","id":4223,"login":"rails"}},"state":"closed"},"action":"closed"}