{"issue":{"created_at":"2011-12-10T22:39:30Z","state":"closed","updated_at":"2011-12-10T22:39:44Z","user":{"gravatar_id":"5ba9f77b20f8ee7f7bab04ca792a5ea7","id":306256,"url":"https://api.github.com/users/passbe","avatar_url":"https://secure.gravatar.com/avatar/5ba9f77b20f8ee7f7bab04ca792a5ea7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"passbe"},"comments":1,"body":"<b>What steps will reproduce the problem?</b>\n1. Perform a request that writes to the database repeatedly and rapidly \n\nThe following error is returned:\nDataObjects::ConnectionError: database is locked\n/ruby/1.8/gems/dm-do-adapter-1.0.0/lib/dm-do-adapter/adapter.rb:63:in `execute_non_query'\n/ruby/1.8/gems/dm-do-adapter-1.0.0/lib/dm-do-adapter/adapter.rb:63:in `execute'\n/ruby/1.8/gems/dm-do-adapter-1.0.0/lib/dm-do-adapter/adapter.rb:260:in `with_connection'\n/ruby/1.8/gems/dm-do-adapter-1.0.0/lib/dm-do-adapter/adapter.rb:61:in `execute'\n/ruby/1.8/gems/dm-do-adapter-1.0.0/lib/dm-do-adapter/adapter.rb:185:in `update'\n/ruby/1.8/gems/dm-core-1.0.0/lib/dm-core/repository.rb:180:in `update'\n/ruby/1.8/gems/dm-core-1.0.0/lib/dm-core/resource/state/dirty.rb:54:in `update_resource'\n/ruby/1.8/gems/dm-core-1.0.0/lib/dm-core/resource/state/dirty.rb:22:in `commit'\n/ruby/1.8/gems/dm-core-1.0.0/lib/dm-core/resource.rb:968:in `_persist'\n/ruby/1.8/gems/dm-core-1.0.0/lib/dm-core/resource.rb:999:in `update_with_hooks'\n/ruby/1.8/gems/dm-core-1.0.0/lib/dm-core/resource.rb:996:in `catch'\n/ruby/1.8/gems/dm-core-1.0.0/lib/dm-core/resource.rb:996:in `update_with_hooks'\n/ruby/1.8/gems/dm-core-1.0.0/lib/dm-core/resource.rb:1033:in `save_self'\n/ruby/1.8/gems/dm-core-1.0.0/lib/dm-core/resource.rb:1018:in `_save'\n/ruby/1.8/gems/dm-core-1.0.0/lib/dm-core/resource.rb:1234:in `run_once'\n/ruby/1.8/gems/dm-core-1.0.0/lib/dm-core/resource.rb:1017:in `_save'\n/ruby/1.8/gems/dm-core-1.0.0/lib/dm-core/resource.rb:417:in `save'\n<br><br><em>Google Code Issue: http://code.google.com/p/beef/issues/detail?id=136</em>","assignee":null,"id":2513428,"labels":[{"name":"GC Imported Issue","color":"ededed","url":"https://api.github.com/repos/beefproject/beef/labels/GC+Imported+Issue"},{"name":"Milestone-Release-0.4.2.3","color":"ededed","url":"https://api.github.com/repos/beefproject/beef/labels/Milestone-Release-0.4.2.3"},{"name":"Priority-High","color":"ededed","url":"https://api.github.com/repos/beefproject/beef/labels/Priority-High"},{"name":"Type-Defect","color":"ededed","url":"https://api.github.com/repos/beefproject/beef/labels/Type-Defect"}],"pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"number":311,"title":"Database Locked Error","html_url":"https://github.com/beefproject/beef/issues/311","closed_at":"2011-12-10T22:39:35Z","url":"https://api.github.com/repos/beefproject/beef/issues/311","milestone":null},"action":"created","comment":{"created_at":"2011-12-10T22:39:44Z","updated_at":"2011-12-10T22:39:44Z","user":{"gravatar_id":"5ba9f77b20f8ee7f7bab04ca792a5ea7","id":306256,"url":"https://api.github.com/users/passbe","avatar_url":"https://secure.gravatar.com/avatar/5ba9f77b20f8ee7f7bab04ca792a5ea7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"passbe"},"body":"<strong><em>wade@bindshell.net on November 13, 2010 03:48:40</em></strong>:<br><br>The @guard.synchronize function in some instances surrounds large chunks of code and it is not immediately obvious its purpose. This increases the risk of bugs and makes performance optimisation tasks slower.  \n\nEnsure comments are added with all synchronize() uses in the framework. It should specify the variable name (resource) being protected and why.\n\n<br><br><em>Google Code Comment: http://code.google.com/p/beef/issues/detail?id=136#c3</em>","id":3093977,"url":"https://api.github.com/repos/beefproject/beef/issues/comments/3093977"}}