[Kimchi-devel] [PATCH 1/5] Fix 'disk full' issue: Change objectstore exception handling
Rodrigo Trujillo
rodrigo.trujillo at linux.vnet.ibm.com
Tue Mar 25 19:52:02 UTC 2014
On 03/25/2014 03:43 PM, Aline Manera wrote:
> On 03/24/2014 05:53 PM, Rodrigo Trujillo wrote:
>> This patch changes __exit__ function of objectstore in order to log the
>> error information. It also changes the return to make python raise the
>> exception again, which will be caught by the functions that are using
>> the objectstore.
>>
>> Signed-off-by: Rodrigo Trujillo <rodrigo.trujillo at linux.vnet.ibm.com>
>> ---
>> src/kimchi/objectstore.py | 8 ++++++++
>> 1 file changed, 8 insertions(+)
>>
>> diff --git a/src/kimchi/objectstore.py b/src/kimchi/objectstore.py
>> index d960ca9..e9baad5 100644
>> --- a/src/kimchi/objectstore.py
>> +++ b/src/kimchi/objectstore.py
>> @@ -19,6 +19,7 @@
>> import json
>> import sqlite3
>> import threading
>> +import traceback
>>
>>
>> try:
>> @@ -29,6 +30,7 @@ except ImportError:
>>
>> from kimchi import config
>> from kimchi.exception import NotFoundError
>> +from kimchi.utils import kimchi_log
>>
>>
>> class ObjectStoreSession(object):
>> @@ -116,3 +118,9 @@ class ObjectStore(object):
>>
>> def __exit__(self, type, value, tb):
>> self._lock.release()
>> + if type is not None:
>> + if issubclass(type, sqlite3.DatabaseError):
>> + # Logs the error and return False, which makes
>> __exit__ raise
>> + # exception again
>> + kimchi_log.error(traceback.format_exc())
>> + return False
>
> You can avoid multiples indentation levels:
>
> if type is not None and issubclass(type, sqlite3.DatabaseError):
> ...
>
>
Indeed ! Thanks
>
> _______________________________________________
> Kimchi-devel mailing list
> Kimchi-devel at ovirt.org
> http://lists.ovirt.org/mailman/listinfo/kimchi-devel
>
More information about the Kimchi-devel
mailing list