From e0dd1f13e31fe4c9ad7ad77e4e593da750afb783 Mon Sep 17 00:00:00 2001 From: zzz <zzz@mail.i2p> Date: Thu, 27 Aug 2009 15:29:23 +0000 Subject: [PATCH] keep publishing leaseset if we are restarting, to minimize downtime --- .../kademlia/KademliaNetworkDatabaseFacade.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/router/java/src/net/i2p/router/networkdb/kademlia/KademliaNetworkDatabaseFacade.java b/router/java/src/net/i2p/router/networkdb/kademlia/KademliaNetworkDatabaseFacade.java index aafd45e7e0..6ff84f68ce 100644 --- a/router/java/src/net/i2p/router/networkdb/kademlia/KademliaNetworkDatabaseFacade.java +++ b/router/java/src/net/i2p/router/networkdb/kademlia/KademliaNetworkDatabaseFacade.java @@ -490,8 +490,13 @@ public class KademliaNetworkDatabaseFacade extends NetworkDatabaseFacade { } if (!_context.clientManager().shouldPublishLeaseSet(h)) return; - if (_context.router().gracefulShutdownInProgress()) - return; + // If we're exiting, don't publish. + // If we're restarting, keep publishing to minimize the downtime. + if (_context.router().gracefulShutdownInProgress()) { + int code = _context.router().scheduledGracefulExitCode(); + if (code == Router.EXIT_GRACEFUL || code == Router.EXIT_HARD) + return; + } RepublishLeaseSetJob j = null; synchronized (_publishingLeaseSets) { -- GitLab