diff options
author | Harald Musum <musum@yahooinc.com> | 2022-09-22 10:16:20 +0200 |
---|---|---|
committer | Harald Musum <musum@yahooinc.com> | 2022-09-22 10:16:20 +0200 |
commit | fbcddd2bee1be208e24fc3c652ab64656e5d4855 (patch) | |
tree | afae900306838445bd8b8c00966c7cb0f18bfdd9 /clustercontroller-core | |
parent | 1957bf2e63c2ad903bd1f6ccbde48de1141dca11 (diff) |
Propagate options to LegacyIndexPageRequestHandler on reconfig
Diffstat (limited to 'clustercontroller-core')
2 files changed, 11 insertions, 3 deletions
diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/FleetController.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/FleetController.java index 0baf1bba4fa..3a9ebde9da1 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/FleetController.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/FleetController.java @@ -83,6 +83,7 @@ public class FleetController implements NodeListener, SlobrokListener, SystemSta private final List<ClusterStateBundle> convergedStates = new ArrayList<>(); private final Queue<RemoteClusterControllerTask> remoteTasks = new LinkedList<>(); private final MetricUpdater metricUpdater; + private final LegacyIndexPageRequestHandler indexPageRequestHandler; private boolean isMaster = false; private boolean inMasterMoratorium = false; @@ -141,9 +142,10 @@ public class FleetController implements NodeListener, SlobrokListener, SystemSta this.statusRequestRouter.addHandler( "^/clusterstate", new ClusterStateRequestHandler(stateVersionTracker)); + this.indexPageRequestHandler = new LegacyIndexPageRequestHandler(timer, cluster, masterElectionHandler, stateVersionTracker, eventLog, options); this.statusRequestRouter.addHandler( "^/$", - new LegacyIndexPageRequestHandler(timer, cluster, masterElectionHandler, stateVersionTracker, eventLog, options)); + indexPageRequestHandler); propagateOptions(); } @@ -488,6 +490,7 @@ public class FleetController implements NodeListener, SlobrokListener, SystemSta stateVersionTracker.setMinMergeCompletionRatio(options.minMergeCompletionRatio()); communicator.propagateOptions(options); + indexPageRequestHandler.propagateOptions(options); if (nodeLookup instanceof SlobrokClient) { ((SlobrokClient) nodeLookup).setSlobrokConnectionSpecs(options.slobrokConnectionSpecs()); @@ -677,7 +680,7 @@ public class FleetController implements NodeListener, SlobrokListener, SystemSta } boolean sentAny = false; // Give nodes a fair chance to respond first time to state gathering requests, so we don't - // disturb system when we take over. Allow anyways if we have states from all nodes. + // disturb system when we take over. Allow anyway if we have states from all nodes. long currentTime = timer.getCurrentTimeInMillis(); if ((currentTime >= firstAllowedStateBroadcast || cluster.allStatesReported()) && currentTime >= nextStateSendTime) diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/LegacyIndexPageRequestHandler.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/LegacyIndexPageRequestHandler.java index 33613911c85..235b9671ef9 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/LegacyIndexPageRequestHandler.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/LegacyIndexPageRequestHandler.java @@ -42,7 +42,8 @@ public class LegacyIndexPageRequestHandler implements StatusPageServer.RequestHa private final StateVersionTracker stateVersionTracker; private final EventLog eventLog; private final long startedTime; - private final FleetControllerOptions options; + + private FleetControllerOptions options; public LegacyIndexPageRequestHandler(Timer timer, ContentCluster cluster, @@ -59,6 +60,10 @@ public class LegacyIndexPageRequestHandler implements StatusPageServer.RequestHa this.options = options; } + public void propagateOptions(FleetControllerOptions options) { + this.options = options; + } + @Override public StatusPageResponse handle(StatusPageServer.HttpRequest request) { TimeZone tz = TimeZone.getTimeZone("UTC"); |