40cd75
From 8031684255007b42df3d08b80e674aefb0ebfb2d Mon Sep 17 00:00:00 2001
40cd75
From: Mark Reynolds <mreynolds@redhat.com>
40cd75
Date: Thu, 2 Nov 2017 12:55:11 -0400
40cd75
Subject: [PATCH] Ticket 49439 - cleanallruv is not logging information
40cd75
40cd75
Bug Description:  During the logging refector effro from ticket 48978
40cd75
                  a mistake was made and cleanruv_log() was using
40cd75
                  LOG_NOTICE (which is not a true log level), it was
40cd75
                  supposed to be SLAPI_LOG_NOTICE.
40cd75
40cd75
                  We also use DEBUG defines to contorl the logging for
40cd75
                  debug builds
40cd75
40cd75
Fix Description:  Remove the LDAP_DEBUG defines in cleanruv_log, and set
40cd75
                  the correct logging severity level.
40cd75
40cd75
https://pagure.io/389-ds-base/issue/49439
40cd75
40cd75
Reviewed by: firstyear(Thanks!)
40cd75
40cd75
(cherry picked from commit e1f866a5e3ccce8e061e361c0e3dd11175a8acf2)
40cd75
---
40cd75
 .../plugins/replication/repl5_replica_config.c     | 101 +++++++++++----------
40cd75
 1 file changed, 51 insertions(+), 50 deletions(-)
40cd75
40cd75
diff --git a/ldap/servers/plugins/replication/repl5_replica_config.c b/ldap/servers/plugins/replication/repl5_replica_config.c
40cd75
index 053103bd0..814f1cac0 100644
40cd75
--- a/ldap/servers/plugins/replication/repl5_replica_config.c
40cd75
+++ b/ldap/servers/plugins/replication/repl5_replica_config.c
40cd75
@@ -1911,12 +1911,13 @@ replica_cleanallruv_thread(void *arg)
40cd75
         /*
40cd75
          *  need to sleep between passes
40cd75
          */
40cd75
-        cleanruv_log(data->task, data->rid, CLEANALLRUV_ID, LOG_NOTICE, "Not all replicas have received the "
40cd75
-            "cleanallruv extended op, retrying in %d seconds",interval);
40cd75
-        if(!slapi_is_shutting_down()){
40cd75
-            PR_Lock( notify_lock );
40cd75
-            PR_WaitCondVar( notify_cvar, PR_SecondsToInterval(interval) );
40cd75
-            PR_Unlock( notify_lock );
40cd75
+        cleanruv_log(data->task, data->rid, CLEANALLRUV_ID, SLAPI_LOG_NOTICE, "Not all replicas have received the "
40cd75
+                     "cleanallruv extended op, retrying in %d seconds",
40cd75
+                     interval);
40cd75
+        if (!slapi_is_shutting_down()) {
40cd75
+            PR_Lock(notify_lock);
40cd75
+            PR_WaitCondVar(notify_cvar, PR_SecondsToInterval(interval));
40cd75
+            PR_Unlock(notify_lock);
40cd75
         }
40cd75
         if(interval < 14400){ /* 4 hour max */
40cd75
             interval = interval * 2;
40cd75
@@ -1952,8 +1953,8 @@ replica_cleanallruv_thread(void *arg)
40cd75
                 found_dirty_rid = 0;
40cd75
             } else {
40cd75
                 found_dirty_rid = 1;
40cd75
-                cleanruv_log(data->task, data->rid, CLEANALLRUV_ID, LOG_NOTICE, "Replica is not cleaned yet (%s)",
40cd75
-                        agmt_get_long_name(agmt));
40cd75
+                cleanruv_log(data->task, data->rid, CLEANALLRUV_ID, SLAPI_LOG_NOTICE, "Replica is not cleaned yet (%s)",
40cd75
+                             agmt_get_long_name(agmt));
40cd75
                 break;
40cd75
             }
40cd75
             agmt_obj = agmtlist_get_next_agreement_for_replica (data->replica, agmt_obj);
40cd75
@@ -1969,12 +1970,13 @@ replica_cleanallruv_thread(void *arg)
40cd75
         /*
40cd75
          * Need to sleep between passes unless we are shutting down
40cd75
          */
40cd75
-        if (!slapi_is_shutting_down()){
40cd75
-            cleanruv_log(data->task, data->rid, CLEANALLRUV_ID, LOG_NOTICE, "Replicas have not been cleaned yet, "
40cd75
-                "retrying in %d seconds", interval);
40cd75
-            PR_Lock( notify_lock );
40cd75
-            PR_WaitCondVar( notify_cvar, PR_SecondsToInterval(interval) );
40cd75
-            PR_Unlock( notify_lock );
40cd75
+        if (!slapi_is_shutting_down()) {
40cd75
+            cleanruv_log(data->task, data->rid, CLEANALLRUV_ID, SLAPI_LOG_NOTICE, "Replicas have not been cleaned yet, "
40cd75
+                                                                            "retrying in %d seconds",
40cd75
+                         interval);
40cd75
+            PR_Lock(notify_lock);
40cd75
+            PR_WaitCondVar(notify_cvar, PR_SecondsToInterval(interval));
40cd75
+            PR_Unlock(notify_lock);
40cd75
         }
40cd75
 
40cd75
         if(interval < 14400){ /* 4 hour max */
40cd75
@@ -2008,11 +2010,11 @@ done:
40cd75
         /*
40cd75
          *  Shutdown or abort
40cd75
          */
40cd75
-        if(!is_task_aborted(data->rid) || slapi_is_shutting_down()){
40cd75
-            cleanruv_log(data->task, data->rid, CLEANALLRUV_ID, LOG_NOTICE,
40cd75
-                    "Server shutting down.  Process will resume at server startup");
40cd75
+        if (!is_task_aborted(data->rid) || slapi_is_shutting_down()) {
40cd75
+            cleanruv_log(data->task, data->rid, CLEANALLRUV_ID, SLAPI_LOG_NOTICE,
40cd75
+                         "Server shutting down.  Process will resume at server startup");
40cd75
         } else {
40cd75
-            cleanruv_log(data->task, data->rid, CLEANALLRUV_ID, LOG_NOTICE, "Task aborted for rid(%d).",data->rid);
40cd75
+            cleanruv_log(data->task, data->rid, CLEANALLRUV_ID, SLAPI_LOG_NOTICE, "Task aborted for rid(%d).", data->rid);
40cd75
             delete_cleaned_rid_config(data);
40cd75
             remove_cleaned_rid(data->rid);
40cd75
         }
40cd75
@@ -2180,7 +2182,7 @@ check_replicas_are_done_cleaning(cleanruv_data *data )
40cd75
             break;
40cd75
         }
40cd75
 
40cd75
-        cleanruv_log(data->task, data->rid, CLEANALLRUV_ID, LOG_NOTICE,
40cd75
+        cleanruv_log(data->task, data->rid, CLEANALLRUV_ID, SLAPI_LOG_NOTICE,
40cd75
                      "Not all replicas finished cleaning, retrying in %d seconds",
40cd75
                      interval);
40cd75
         if(!slapi_is_shutting_down()){
40cd75
@@ -2289,12 +2291,12 @@ check_replicas_are_done_aborting(cleanruv_data *data )
40cd75
         if(not_all_aborted == 0){
40cd75
             break;
40cd75
         }
40cd75
-        cleanruv_log(data->task, data->rid, ABORT_CLEANALLRUV_ID, LOG_NOTICE,
40cd75
-                "Not all replicas finished aborting, retrying in %d seconds",interval);
40cd75
-        if(!slapi_is_shutting_down()){
40cd75
-            PR_Lock( notify_lock );
40cd75
-            PR_WaitCondVar( notify_cvar, PR_SecondsToInterval(interval) );
40cd75
-            PR_Unlock( notify_lock );
40cd75
+        cleanruv_log(data->task, data->rid, ABORT_CLEANALLRUV_ID, SLAPI_LOG_NOTICE,
40cd75
+                     "Not all replicas finished aborting, retrying in %d seconds", interval);
40cd75
+        if (!slapi_is_shutting_down()) {
40cd75
+            PR_Lock(notify_lock);
40cd75
+            PR_WaitCondVar(notify_cvar, PR_SecondsToInterval(interval));
40cd75
+            PR_Unlock(notify_lock);
40cd75
         }
40cd75
         if(interval < 14400){ /* 4 hour max */
40cd75
             interval = interval * 2;
40cd75
@@ -2336,8 +2338,8 @@ check_agmts_are_caught_up(cleanruv_data *data, char *maxcsn)
40cd75
                 not_all_caughtup = 0;
40cd75
             } else {
40cd75
                 not_all_caughtup = 1;
40cd75
-                cleanruv_log(data->task, data->rid, CLEANALLRUV_ID, LOG_NOTICE,
40cd75
-                        "Replica not caught up (%s)",agmt_get_long_name(agmt));
40cd75
+                cleanruv_log(data->task, data->rid, CLEANALLRUV_ID, SLAPI_LOG_NOTICE,
40cd75
+                             "Replica not caught up (%s)", agmt_get_long_name(agmt));
40cd75
                 break;
40cd75
             }
40cd75
             agmt_obj = agmtlist_get_next_agreement_for_replica (data->replica, agmt_obj);
40cd75
@@ -2346,12 +2348,12 @@ check_agmts_are_caught_up(cleanruv_data *data, char *maxcsn)
40cd75
         if(not_all_caughtup == 0 || is_task_aborted(data->rid) ){
40cd75
             break;
40cd75
         }
40cd75
-        cleanruv_log(data->task, data->rid, CLEANALLRUV_ID, LOG_NOTICE,
40cd75
-                "Not all replicas caught up, retrying in %d seconds",interval);
40cd75
-        if(!slapi_is_shutting_down()){
40cd75
-            PR_Lock( notify_lock );
40cd75
-            PR_WaitCondVar( notify_cvar, PR_SecondsToInterval(interval) );
40cd75
-            PR_Unlock( notify_lock );
40cd75
+        cleanruv_log(data->task, data->rid, CLEANALLRUV_ID, SLAPI_LOG_NOTICE,
40cd75
+                     "Not all replicas caught up, retrying in %d seconds", interval);
40cd75
+        if (!slapi_is_shutting_down()) {
40cd75
+            PR_Lock(notify_lock);
40cd75
+            PR_WaitCondVar(notify_cvar, PR_SecondsToInterval(interval));
40cd75
+            PR_Unlock(notify_lock);
40cd75
         }
40cd75
         if(interval < 14400){ /* 4 hour max */
40cd75
             interval = interval * 2;
40cd75
@@ -2396,8 +2398,8 @@ check_agmts_are_alive(Replica *replica, ReplicaId rid, Slapi_Task *task)
40cd75
                 not_all_alive = 0;
40cd75
             } else {
40cd75
                 not_all_alive = 1;
40cd75
-                cleanruv_log(task, rid, CLEANALLRUV_ID, LOG_NOTICE, "Replica not online (%s)",
40cd75
-                        agmt_get_long_name(agmt));
40cd75
+                cleanruv_log(task, rid, CLEANALLRUV_ID, SLAPI_LOG_NOTICE, "Replica not online (%s)",
40cd75
+                             agmt_get_long_name(agmt));
40cd75
                 break;
40cd75
             }
40cd75
             agmt_obj = agmtlist_get_next_agreement_for_replica (replica, agmt_obj);
40cd75
@@ -2406,8 +2408,8 @@ check_agmts_are_alive(Replica *replica, ReplicaId rid, Slapi_Task *task)
40cd75
         if(not_all_alive == 0 || is_task_aborted(rid)){
40cd75
             break;
40cd75
         }
40cd75
-        cleanruv_log(task, rid, CLEANALLRUV_ID, LOG_NOTICE, "Not all replicas online, retrying in %d seconds...",
40cd75
-                interval);
40cd75
+        cleanruv_log(task, rid, CLEANALLRUV_ID, SLAPI_LOG_NOTICE, "Not all replicas online, retrying in %d seconds...",
40cd75
+                     interval);
40cd75
 
40cd75
         if(!slapi_is_shutting_down()){
40cd75
             PR_Lock( notify_lock );
40cd75
@@ -3174,11 +3176,11 @@ replica_abort_task_thread(void *arg)
40cd75
         /*
40cd75
          *  Need to sleep between passes. unless we are shutting down
40cd75
          */
40cd75
-        if (!slapi_is_shutting_down()){
40cd75
-            cleanruv_log(data->task, data->rid, ABORT_CLEANALLRUV_ID, LOG_NOTICE, "Retrying in %d seconds",interval);
40cd75
-            PR_Lock( notify_lock );
40cd75
-            PR_WaitCondVar( notify_cvar, PR_SecondsToInterval(interval) );
40cd75
-            PR_Unlock( notify_lock );
40cd75
+        if (!slapi_is_shutting_down()) {
40cd75
+            cleanruv_log(data->task, data->rid, ABORT_CLEANALLRUV_ID, SLAPI_LOG_NOTICE, "Retrying in %d seconds", interval);
40cd75
+            PR_Lock(notify_lock);
40cd75
+            PR_WaitCondVar(notify_cvar, PR_SecondsToInterval(interval));
40cd75
+            PR_Unlock(notify_lock);
40cd75
         }
40cd75
 
40cd75
         if(interval < 14400){ /* 4 hour max */
40cd75
@@ -3296,9 +3298,10 @@ replica_cleanallruv_send_extop(Repl_Agmt *ra, cleanruv_data *clean_data, int che
40cd75
                     /* extop was accepted */
40cd75
                     rc = 0;
40cd75
                 } else {
40cd75
-                    cleanruv_log(clean_data->task, clean_data->rid, CLEANALLRUV_ID, LOG_NOTICE, 
40cd75
-                            "Replica %s does not support the CLEANALLRUV task.  "
40cd75
-                            "Sending replica CLEANRUV task...", slapi_sdn_get_dn(agmt_get_dn_byref(ra)));
40cd75
+                    cleanruv_log(clean_data->task, clean_data->rid, CLEANALLRUV_ID, SLAPI_LOG_NOTICE,
40cd75
+                                 "Replica %s does not support the CLEANALLRUV task.  "
40cd75
+                                 "Sending replica CLEANRUV task...",
40cd75
+                                 slapi_sdn_get_dn(agmt_get_dn_byref(ra)));
40cd75
                     /*
40cd75
                      *  Ok, this replica doesn't know about CLEANALLRUV, so just manually
40cd75
                      *  add the CLEANRUV task to the replica.
40cd75
@@ -3463,9 +3466,9 @@ replica_cleanallruv_check_maxcsn(Repl_Agmt *agmt, char *basedn, char *rid_text,
40cd75
                     csn_init_by_string(repl_max, remote_maxcsn);
40cd75
                     if(csn_compare (repl_max, max) < 0){
40cd75
                         /* we are not caught up yet, free, and return */
40cd75
-                        cleanruv_log(task, atoi(rid_text), CLEANALLRUV_ID, LOG_NOTICE,
40cd75
-                            "Replica maxcsn (%s) is not caught up with deleted replica's maxcsn(%s)",
40cd75
-                            remote_maxcsn, maxcsn);
40cd75
+                        cleanruv_log(task, atoi(rid_text), CLEANALLRUV_ID, SLAPI_LOG_NOTICE,
40cd75
+                                     "Replica maxcsn (%s) is not caught up with deleted replica's maxcsn(%s)",
40cd75
+                                     remote_maxcsn, maxcsn);
40cd75
                         rc = -1;
40cd75
                     } else {
40cd75
                         /* ok this replica is caught up */
40cd75
@@ -3636,7 +3639,6 @@ stop_ruv_cleaning()
40cd75
 void
40cd75
 cleanruv_log(Slapi_Task *task, int rid, char *task_type, int sev_level, char *fmt, ...)
40cd75
 {
40cd75
-#ifdef LDAP_DEBUG
40cd75
     va_list ap1;
40cd75
     va_list ap2;
40cd75
     va_list ap3;
40cd75
@@ -3661,7 +3663,6 @@ cleanruv_log(Slapi_Task *task, int rid, char *task_type, int sev_level, char *fm
40cd75
     va_end(ap2);
40cd75
     va_end(ap3);
40cd75
     va_end(ap4);
40cd75
-#endif
40cd75
 }
40cd75
 
40cd75
 char *
40cd75
-- 
40cd75
2.13.6
40cd75