diff --git a/noblogsmv/state.py b/noblogsmv/state.py index 88df33d6ba4198b548ef8cc5f8338c63c435c2ae..c52cf4c110ceebbbb717301cbaa59e24220f1e0d 100644 --- a/noblogsmv/state.py +++ b/noblogsmv/state.py @@ -99,7 +99,9 @@ class StateDatabase(object): """Simple key-value database that encodes data with a codec.""" def __init__(self, path, codec=json): - self.db = leveldb.LevelDB(path) + self.db = leveldb.LevelDB( + path, + block_cache_size=256 * (1 << 20)) self.codec = codec def session(self): @@ -157,17 +159,7 @@ def transaction(db): finally: session.close() - -@contextlib.contextmanager -def readonly_transaction(db): - for i in xrange(3): - try: - with transaction(db) as session: - yield session - except leveldb.LevelDBError: - time.sleep(0.01) - continue - break +readonly_transaction = transaction @contextlib.contextmanager