From 61a187b808d9c49ab955ce3af1d75c09b9e000e9 Mon Sep 17 00:00:00 2001 From: Alon Levy Date: Fri, 10 Apr 2015 10:55:36 +0200 Subject: server/rz_kernel: rzdoc__create: avoid rethrow Instead of raising and catching an exception by using the cache lookup extract a function to lookup in cache and then in db that just returns the result. Avoids an exception trace we log whenever there is an exception. --- src/server/rz_kernel.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'src/server') diff --git a/src/server/rz_kernel.py b/src/server/rz_kernel.py index 84d54acd..2f1ae59a 100644 --- a/src/server/rz_kernel.py +++ b/src/server/rz_kernel.py @@ -254,6 +254,12 @@ class RZ_Kernel(object): rzdoc = self.db_ctl.exec_op(op) return rzdoc # may be None + def rzdoc__lookup_by_name_with_cache(self, rzdoc_name): + cache_doc = self.cache__rzdoc_name_to_rzdoc.get(rzdoc_name) + if None != cache_doc: + return cache_doc + return self.rzdoc__lookup_by_name(rzdoc_name) + def rzdoc__create(self, rzdoc_name, ctx=None): """ Create & persist new RZDoc - may fail on unique name/id constraint violation @@ -261,11 +267,8 @@ class RZ_Kernel(object): @return: RZDoc object @raise RZDoc_Exception__already_exists """ - try: - self.cache_lookup__rzdoc(rzdoc_name) + if None != self.rzdoc__lookup_by_name_with_cache(rzdoc_name): raise RZDoc_Exception__already_exists(rzdoc_name) - except RZDoc_Exception__not_found: - pass rzdoc = RZDoc(rzdoc_name) rzdoc.id = neo4j_util.generate_random_rzdoc_id() -- cgit v1.3.1