opscode/bookshelf — pull request #16 by sdelano (2013-09-04 17:06:00+00:00)
Title: Remove Concurrency Locking

This commit removes the bksw_coordinator gen_server. This gen_server
provided a locking mechanism for reads and writes on individual
objects:

* multiple concurrent reads
* one concurrent write, blocks reads

The locking was removed for a couple of reasons:

1) There was a bug that resulted in gen_server timeouts when a read or
a write operation was blocked waiting on another write
2) More importantly, the locking was obviated by the filesystem
operations taken while writing. During writes, objects are written
to temporary files. Once the write is complete, it is committed by
executing an atomic filesystem move operation.