summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormartinko2013-07-18 16:13:54 +0000
committermartinko2013-07-18 16:13:54 +0000
commit244a132aed5150127d69c52459f6cb5a9660df3f (patch)
tree4bfc4433e8e49528aa140d0c6c34202a1c7d4b89
parente0bd01f65868cd05f78dd0028237c5a46987b81e (diff)
londiste/repair: made less verbose
(in response to "londiste3 repair command floods the console with the diff mesages")
-rw-r--r--python/londiste/repair.py27
1 files changed, 16 insertions, 11 deletions
diff --git a/python/londiste/repair.py b/python/londiste/repair.py
index 46ad067b..3e2e8b16 100644
--- a/python/londiste/repair.py
+++ b/python/londiste/repair.py
@@ -1,8 +1,7 @@
"""Repair data on subscriber.
-Walks tables by primary key and searcher
-missing inserts/updates/deletes.
+Walks tables by primary key and searches for missing inserts/updates/deletes.
"""
import sys, os, skytools, subprocess
@@ -34,7 +33,7 @@ class Repairer(Syncer):
return p
def process_sync(self, t1, t2, src_db, dst_db):
- """Actual comparision."""
+ """Actual comparison."""
apply_db = None
@@ -58,6 +57,8 @@ class Repairer(Syncer):
dump_src = dst_tbl + ".src"
dump_dst = dst_tbl + ".dst"
+ dump_src_sorted = dump_src + ".sorted"
+ dump_dst_sorted = dump_dst + ".sorted"
dst_where = t2.plugin.get_copy_condition(src_curs, dst_curs)
src_where = dst_where
@@ -70,18 +71,20 @@ class Repairer(Syncer):
dst_db.commit()
self.log.info("Sorting src table: %s", dump_src)
- self.do_sort(dump_src, dump_src + '.sorted')
+ self.do_sort(dump_src, dump_src_sorted)
self.log.info("Sorting dst table: %s", dump_dst)
- self.do_sort(dump_dst, dump_dst + '.sorted')
+ self.do_sort(dump_dst, dump_dst_sorted)
- self.dump_compare(dst_tbl, dump_src + ".sorted", dump_dst + ".sorted")
+ self.dump_compare(dst_tbl, dump_src_sorted, dump_dst_sorted)
os.unlink(dump_src)
os.unlink(dump_dst)
- os.unlink(dump_src + ".sorted")
- os.unlink(dump_dst + ".sorted")
+ os.unlink(dump_src_sorted)
+ os.unlink(dump_dst_sorted)
def do_sort(self, src, dst):
+ """ Sort contents of src file, write them to dst file. """
+
p = subprocess.Popen(["sort", "--version"], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
s_ver = p.communicate()[0]
del p
@@ -153,7 +156,9 @@ class Repairer(Syncer):
return row
def dump_compare(self, tbl, src_fn, dst_fn):
- """Dump + compare single table."""
+ """ Compare two table dumps, create sql file to fix target table
+ or apply changes to target table directly.
+ """
self.log.info("Comparing dumps: %s", tbl)
self.cnt_insert = 0
self.cnt_update = 0
@@ -248,7 +253,7 @@ class Repairer(Syncer):
def show_fix(self, tbl, q, desc):
"""Print/write/apply repair sql."""
- self.log.info("missed %s: %s", desc, q)
+ self.log.debug("missed %s: %s", desc, q)
if self.apply_curs:
self.apply_curs.execute(q)
else:
@@ -262,7 +267,7 @@ class Repairer(Syncer):
list.append(s)
def addcmp(self, list, f, v):
- """Add quoted comparision."""
+ """Add quoted comparison."""
if v is None:
s = "%s is null" % f
else: