krb5 commit [krb5-1.9]: Reset ulog if database load failed

Tom Yu tlyu at MIT.EDU
Tue Apr 23 23:08:39 EDT 2013


https://github.com/krb5/krb5/commit/89ed3c66a43e7440ceb7438332739adaf7401bb9
commit 89ed3c66a43e7440ceb7438332739adaf7401bb9
Author: rbasch <probe at tardis.internal.bright-prospects.com>
Date:   Sun Mar 3 22:55:41 2013 -0500

    Reset ulog if database load failed
    
    If an iprop slave tries to load a dump from the master and it fails,
    reset the ulog header so we take another full dump, instead of
    reporting that the slave is current when it isn't.
    
    [ghudson at mit.edu: commit message]
    [tlyu at mit.edu: remove ulog_sync_header call]
    
    (cherry picked from commit 74b3f961e15d2eee5bad93d2a224c10834bbaab8)
    
    (cherry picked from commit 9fae7b50c7217e6aa88a97b762297e30040b2b86)
    
    ticket: 7624 (new)
    version_fixed: 1.9.5
    status: resolved

 src/kadmin/dbutil/dump.c |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/src/kadmin/dbutil/dump.c b/src/kadmin/dbutil/dump.c
index 9c91024..17d8bd3 100644
--- a/src/kadmin/dbutil/dump.c
+++ b/src/kadmin/dbutil/dump.c
@@ -2690,6 +2690,18 @@ error:
      */
     if (!(flags & FLAG_UPDATE)) {
         if (exit_status) {
+
+	    /* Re-init ulog so we don't accidentally think we are current */
+            if (log_ctx && log_ctx->iproprole) {
+                log_ctx->ulog->kdb_last_sno = 0;
+                log_ctx->ulog->kdb_last_time.seconds = 0;
+                log_ctx->ulog->kdb_last_time.useconds = 0;
+
+                log_ctx->ulog->kdb_first_sno = 0;
+                log_ctx->ulog->kdb_first_time.seconds = 0;
+                log_ctx->ulog->kdb_first_time.useconds = 0;
+            }
+
             kret = krb5_db_destroy(kcontext, db5util_db_args);
             /*
              * Ignore a not supported error since there is nothing to do about


More information about the cvs-krb5 mailing list