From b1db99ed2eeb36b9453354e87779fe2a6b4dc684 Mon Sep 17 00:00:00 2001
From: Giorgos Korfiatis <gkorf@grnet.gr>
Date: Fri, 24 Apr 2015 18:09:22 +0300
Subject: [PATCH] Send ack message after commit

---
 agkyra/agkyra/syncer/messaging.py |  2 +-
 agkyra/agkyra/syncer/syncer.py    | 14 +++++++++++---
 2 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/agkyra/agkyra/syncer/messaging.py b/agkyra/agkyra/syncer/messaging.py
index 541a0cb..6558e5b 100644
--- a/agkyra/agkyra/syncer/messaging.py
+++ b/agkyra/agkyra/syncer/messaging.py
@@ -50,7 +50,7 @@ class AckSyncMessage(Message):
         self.objname = kwargs["objname"]
         self.archive = kwargs["archive"]
         self.serial = kwargs["serial"]
-        self.logger.info("Acking archive: %s, object: '%s', serial: %s" %
+        self.logger.info("Acked archive: %s, object: '%s', serial: %s" %
                          (self.archive, self.objname, self.serial))
 
 
diff --git a/agkyra/agkyra/syncer/syncer.py b/agkyra/agkyra/syncer/syncer.py
index 07c5cda..0834923 100644
--- a/agkyra/agkyra/syncer/syncer.py
+++ b/agkyra/agkyra/syncer/syncer.py
@@ -235,17 +235,25 @@ class FileSyncer(object):
         # here we could do any checks needed on the old state,
         # perhaps triggering a probe
 
-    @transaction()
     def ack_file_sync(self, synced_source_state, synced_target_state):
-        db = self.get_db()
+        self._ack_file_sync(synced_source_state, synced_target_state)
         serial = synced_source_state.serial
         objname = synced_source_state.objname
-        source = synced_source_state.archive
         target = synced_target_state.archive
         msg = messaging.AckSyncMessage(
             archive=target, objname=objname, serial=serial,
             logger=logger)
         self.messager.put(msg)
+
+    @transaction()
+    def _ack_file_sync(self, synced_source_state, synced_target_state):
+        db = self.get_db()
+        serial = synced_source_state.serial
+        objname = synced_source_state.objname
+        source = synced_source_state.archive
+        target = synced_target_state.archive
+        logger.info("Acking archive: %s, object: '%s', serial: %s" %
+                    (target, objname, serial))
         decision_state = db.get_state(self.DECISION, objname)
         sync_state = db.get_state(self.SYNC, objname)
 
-- 
GitLab