vacuum: add statistics output for processing of the delete list
authorMichael Adam <obnox@samba.org>
Thu, 22 Dec 2011 14:46:49 +0000 (15:46 +0100)
committerMichael Adam <obnox@samba.org>
Thu, 12 Jan 2012 07:50:39 +0000 (08:50 +0100)
(cherry picked from commit bec2ff46402b6d90521c75e8d46b9f6f2f47239a)

server/ctdb_vacuum.c

index 57388c511a73c425869172fca0fdee07f9af9b13..ecf7e8515f2b18fc7ebd4b1cb3dfb6b73acda9fc 100644 (file)
@@ -668,6 +668,8 @@ static int ctdb_process_delete_list(struct ctdb_db_context *ctdb_db,
        int ret, i;
        struct ctdb_context *ctdb = ctdb_db->ctdb;
 
+       vdata->delete_left = vdata->delete_count;
+
        if (vdata->delete_count > 0) {
                struct delete_records_list *recs;
                TDB_DATA indata, outdata;
@@ -676,8 +678,6 @@ static int ctdb_process_delete_list(struct ctdb_db_context *ctdb_db,
                uint32_t *active_nodes;
                int num_active_nodes;
 
-               vdata->delete_left = vdata->delete_count;
-
                recs = talloc_zero(vdata, struct delete_records_list);
                if (recs == NULL) {
                        DEBUG(DEBUG_ERR,(__location__ " Out of memory\n"));
@@ -807,6 +807,26 @@ static int ctdb_process_delete_list(struct ctdb_db_context *ctdb_db,
                                     delete_record_traverse, vdata);
        }
 
+       if (vdata->delete_count > 0) {
+               DEBUG(DEBUG_INFO,
+                     (__location__
+                      " vacuum delete list statistics: "
+                      "db[%s] "
+                      "coll[%u] "
+                      "rem.err[%u] "
+                      "loc.err[%u] "
+                      "skip[%u] "
+                      "del[%u] "
+                      "left[%u]\n",
+                      ctdb_db->db_name,
+                      (unsigned)vdata->delete_count,
+                      (unsigned)vdata->delete_remote_error,
+                      (unsigned)vdata->delete_local_error,
+                      (unsigned)vdata->delete_skipped,
+                      (unsigned)vdata->delete_deleted,
+                      (unsigned)vdata->delete_left));
+       }
+
        return 0;
 }