diff --git a/router/java/src/net/i2p/router/networkdb/kademlia/FloodfillMonitorJob.java b/router/java/src/net/i2p/router/networkdb/kademlia/FloodfillMonitorJob.java index 056f6a607a1250bf030a163eab5076ff7baeaa3f..4ed44388c054210bc111bf7e266cc24e5db7898c 100644 --- a/router/java/src/net/i2p/router/networkdb/kademlia/FloodfillMonitorJob.java +++ b/router/java/src/net/i2p/router/networkdb/kademlia/FloodfillMonitorJob.java @@ -34,7 +34,7 @@ class FloodfillMonitorJob extends JobImpl { private static final int MIN_FF = 5000; private static final int MAX_FF = 999999; - private static final String PROP_FLOODFILL_PARTICIPANT = "router.floodfillParticipant"; + static final String PROP_FLOODFILL_PARTICIPANT = "router.floodfillParticipant"; public FloodfillMonitorJob(RouterContext context, FloodfillNetworkDatabaseFacade facade) { super(context); diff --git a/router/java/src/net/i2p/router/networkdb/kademlia/FloodfillNetworkDatabaseFacade.java b/router/java/src/net/i2p/router/networkdb/kademlia/FloodfillNetworkDatabaseFacade.java index ab41b7166d20f9a190fd7a0f7c7bffabf726c5b9..a02013a5f82fe1049ab39617f6dd6f9c09c278e7 100644 --- a/router/java/src/net/i2p/router/networkdb/kademlia/FloodfillNetworkDatabaseFacade.java +++ b/router/java/src/net/i2p/router/networkdb/kademlia/FloodfillNetworkDatabaseFacade.java @@ -94,7 +94,11 @@ public class FloodfillNetworkDatabaseFacade extends KademliaNetworkDatabaseFacad */ @Override public synchronized void shutdown() { - if (_floodfillEnabled) { + // only if not forced ff or not restarting + if (_floodfillEnabled && + (!_context.getBooleanProperty(FloodfillMonitorJob.PROP_FLOODFILL_PARTICIPANT) || + !(_context.router().scheduledGracefulExitCode() == Router.EXIT_HARD_RESTART || + _context.router().scheduledGracefulExitCode() == Router.EXIT_GRACEFUL_RESTART))) { // turn off to build a new RI... _floodfillEnabled = false; // true -> publish inline