849b21a442
The container backend is supposed to build a pending file and, when it gets to a certain size, flush it all at once into the sqlite db. Before this fix, many concurrent threads would ask what the pending file size is to see if they should flush instead of just appending to the pending file. The problem is that many would ask, find it's too big, and try to get a lock. The first one wins, flushes, but all the other waiting threads still think they have to flush- which is a much slower opertaion than just the append. This change gets the lock first and makes sure that merge_items is only called when the pending file is full. Change-Id: I29cfa13a48c8f7d16dd414b2288d50461adbafd2 |
||
---|---|---|
.. | ||
__init__.py | ||
auditor.py | ||
backend.py | ||
reaper.py | ||
replicator.py | ||
server.py | ||
utils.py |