From ee22b500caf85a9c47c4e327690b7722292aa155 Mon Sep 17 00:00:00 2001 From: Harald Musum Date: Wed, 3 Mar 2021 12:29:31 +0100 Subject: Remove use of flag that is always true --- .../com/yahoo/config/model/api/ModelContext.java | 2 +- .../yahoo/config/model/deploy/TestProperties.java | 7 ----- .../ClusterControllerContainer.java | 31 ++++++++------------ .../vespa/model/content/ContentClusterTest.java | 34 +++++++--------------- .../config/server/deploy/ModelContextImpl.java | 3 -- 5 files changed, 23 insertions(+), 54 deletions(-) diff --git a/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java b/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java index 53ecc5892b6..9b7a96ad0c0 100644 --- a/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java +++ b/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java @@ -82,7 +82,7 @@ public interface ModelContext { @ModelFeatureFlag(owners = {"baldersheim"}) default double feedConcurrency() { throw new UnsupportedOperationException("TODO specify default value"); } @ModelFeatureFlag(owners = {"baldersheim"}) default boolean useBucketExecutorForLidSpaceCompact() { throw new UnsupportedOperationException("TODO specify default value"); } @ModelFeatureFlag(owners = {"baldersheim"}) default boolean useBucketExecutorForBucketMove() { throw new UnsupportedOperationException("TODO specify default value"); } - @ModelFeatureFlag(owners = {"musum", "mpolden"}, comment = "Revisit in February 2021") default boolean reconfigurableZookeeperServer() { return false; } + @ModelFeatureFlag(owners = {"musum", "mpolden"}, comment = "Revisit in February 2021", removeAfter = "7.370") default boolean reconfigurableZookeeperServer() { return true; } @ModelFeatureFlag(owners = {"geirst"}) default boolean enableFeedBlockInDistributor() { return false; } @ModelFeatureFlag(owners = {"baldersheim", "geirst", "toregge"}) default double maxDeadBytesRatio() { return 0.2; } @ModelFeatureFlag(owners = {"hmusum"}) default int clusterControllerMaxHeapSizeInMb() { return 512; } diff --git a/config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java b/config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java index be15abc5ac8..6f729b24025 100644 --- a/config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java +++ b/config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java @@ -51,7 +51,6 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea private boolean useAccessControlTlsHandshakeClientAuth; private boolean useAsyncMessageHandlingOnSchedule = false; private double feedConcurrency = 0.5; - private boolean reconfigurableZookeeperServer = false; private boolean useBucketExecutorForLidSpaceCompact; private boolean useBucketExecutorForBucketMove; private boolean enableFeedBlockInDistributor = false; @@ -91,7 +90,6 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea @Override public boolean useAccessControlTlsHandshakeClientAuth() { return useAccessControlTlsHandshakeClientAuth; } @Override public boolean useAsyncMessageHandlingOnSchedule() { return useAsyncMessageHandlingOnSchedule; } @Override public double feedConcurrency() { return feedConcurrency; } - @Override public boolean reconfigurableZookeeperServer() { return reconfigurableZookeeperServer; } @Override public boolean useBucketExecutorForLidSpaceCompact() { return useBucketExecutorForLidSpaceCompact; } @Override public boolean useBucketExecutorForBucketMove() { return useBucketExecutorForBucketMove; } @Override public boolean enableFeedBlockInDistributor() { return enableFeedBlockInDistributor; } @@ -200,11 +198,6 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea return this; } - public TestProperties reconfigurableZookeeperServer(boolean enabled) { - this.reconfigurableZookeeperServer = enabled; - return this; - } - public TestProperties useBucketExecutorForLidSpaceCompact(boolean enabled) { useBucketExecutorForLidSpaceCompact = enabled; return this; diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainer.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainer.java index f55d179b184..f1717625d10 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainer.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainer.java @@ -3,7 +3,6 @@ package com.yahoo.vespa.model.admin.clustercontroller; import com.yahoo.cloud.config.ZookeeperServerConfig; import com.yahoo.component.ComponentSpecification; -import com.yahoo.config.model.api.ModelContext; import com.yahoo.config.model.api.container.ContainerServiceType; import com.yahoo.config.model.deploy.DeployState; import com.yahoo.config.model.producer.AbstractConfigProducer; @@ -41,16 +40,13 @@ public class ClusterControllerContainer extends Container implements private static final ComponentSpecification REINDEXING_CONTROLLER_BUNDLE = new ComponentSpecification("clustercontroller-reindexer"); private final Set bundles = new TreeSet<>(); - private final ModelContext.FeatureFlags featureFlags; - - public ClusterControllerContainer( - AbstractConfigProducer parent, - int index, - boolean runStandaloneZooKeeper, - DeployState deployState, - boolean retired) { + + public ClusterControllerContainer(AbstractConfigProducer parent, + int index, + boolean runStandaloneZooKeeper, + DeployState deployState, + boolean retired) { super(parent, "" + index, retired, index, deployState.isHosted()); - this.featureFlags = deployState.featureFlags(); addHandler("clustercontroller-status", "com.yahoo.vespa.clustercontroller.apps.clustercontroller.StatusHandler", "/clustercontroller-status/*", @@ -70,7 +66,7 @@ public class ClusterControllerContainer extends Container implements addFileBundle("clustercontroller-utils"); addFileBundle("zookeeper-server"); configureReindexing(); - configureZooKeeperServer(runStandaloneZooKeeper, deployState.featureFlags().reconfigurableZookeeperServer()); + configureZooKeeperServer(runStandaloneZooKeeper); } @Override @@ -88,16 +84,13 @@ public class ClusterControllerContainer extends Container implements return ContainerServiceType.CLUSTERCONTROLLER_CONTAINER; } - private void configureZooKeeperServer(boolean runStandaloneZooKeeper, boolean reconfigurable) { - if (reconfigurable && runStandaloneZooKeeper) { + private void configureZooKeeperServer(boolean runStandaloneZooKeeper) { + if (runStandaloneZooKeeper) ContainerModelBuilder.addReconfigurableZooKeeperServerComponents(this); - } else { + else addComponent("clustercontroller-zookeeper-server", - runStandaloneZooKeeper - ? "com.yahoo.vespa.zookeeper.VespaZooKeeperServerImpl" - : "com.yahoo.vespa.zookeeper.DummyVespaZooKeeperServer", + "com.yahoo.vespa.zookeeper.DummyVespaZooKeeperServer", ZOOKEEPER_SERVER_BUNDLE); - } } private void addHandler(Handler h, String path) { @@ -148,7 +141,7 @@ public class ClusterControllerContainer extends Container implements @Override public void getConfig(ZookeeperServerConfig.Builder builder) { builder.myid(index()); - builder.dynamicReconfiguration(featureFlags.reconfigurableZookeeperServer()); + builder.dynamicReconfiguration(true); } @Override diff --git a/config-model/src/test/java/com/yahoo/vespa/model/content/ContentClusterTest.java b/config-model/src/test/java/com/yahoo/vespa/model/content/ContentClusterTest.java index afaea7c0200..ea76578ef04 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/content/ContentClusterTest.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/content/ContentClusterTest.java @@ -1,7 +1,6 @@ // Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.model.content; -import com.yahoo.cloud.config.ZookeeperServerConfig; import com.yahoo.config.model.api.ModelContext; import com.yahoo.config.model.deploy.DeployState; import com.yahoo.config.model.deploy.TestProperties; @@ -46,11 +45,8 @@ import java.util.Collections; import java.util.List; import java.util.Map; import java.util.Optional; -import java.util.function.Function; -import java.util.stream.Collectors; import static java.util.stream.Collectors.toList; -import static java.util.stream.Collectors.toSet; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; @@ -255,7 +251,7 @@ public class ContentClusterTest extends ContentBaseTest { List sds = ApplicationPackageUtils.generateSchemas("type1", "type2"); VespaModel model = new VespaModelCreatorWithMockPkg(null, xml, sds).create(); assertEquals(2, model.getContentClusters().get("bar").getDocumentDefinitions().size()); - ContainerCluster cluster = model.getAdmin().getClusterControllers(); + ContainerCluster cluster = model.getAdmin().getClusterControllers(); assertEquals(3, cluster.getContainers().size()); } @@ -305,7 +301,7 @@ public class ContentClusterTest extends ContentBaseTest { VespaModel model = createEnd2EndOneNode(new TestProperties()); assertEquals(1, model.getContentClusters().get("storage").getDocumentDefinitions().size()); - ContainerCluster cluster = model.getAdmin().getClusterControllers(); + ContainerCluster cluster = model.getAdmin().getClusterControllers(); assertEquals(1, cluster.getContainers().size()); } @@ -399,8 +395,7 @@ public class ContentClusterTest extends ContentBaseTest { "" ); fail("no exception thrown"); - } catch (Exception e) { - } + } catch (Exception e) { /* ignore */ } } @Test @@ -420,8 +415,7 @@ public class ContentClusterTest extends ContentBaseTest { "" ); fail("no exception thrown"); - } catch (Exception e) { - } + } catch (Exception e) { /* ignore */ } } FleetcontrollerConfig getFleetControllerConfig(String xml) { @@ -1027,11 +1021,8 @@ public class ContentClusterTest extends ContentBaseTest { assertEquals(0.1, resolveMaxDeadBytesRatio(0.1), 1e-5); } - void assertZookeeperServerImplementation(boolean reconfigurable, String expectedClassName) { - VespaModel model = createEnd2EndOneNode( - new TestProperties() - .reconfigurableZookeeperServer(reconfigurable) - .setMultitenant(true)); + void assertZookeeperServerImplementation(String expectedClassName) { + VespaModel model = createEnd2EndOneNode(new TestProperties().setMultitenant(true)); ContentCluster cc = model.getContentClusters().get("storage"); for (ClusterControllerContainer c : cc.getClusterControllers().getContainers()) { @@ -1040,19 +1031,14 @@ public class ContentClusterTest extends ContentBaseTest { assertEquals(1, new ComponentsConfig(builder).components().stream() .filter(component -> component.classId().equals(expectedClassName)) .count()); - - var zBuilder = new ZookeeperServerConfig.Builder(); - c.getConfig(zBuilder); - assertEquals(reconfigurable, new ZookeeperServerConfig(zBuilder).dynamicReconfiguration()); } } @Test - public void reconfigurableZookeeperServerForClusterController() { - assertZookeeperServerImplementation(false, "com.yahoo.vespa.zookeeper.VespaZooKeeperServerImpl"); - assertZookeeperServerImplementation(true, "com.yahoo.vespa.zookeeper.ReconfigurableVespaZooKeeperServer"); - assertZookeeperServerImplementation(true, "com.yahoo.vespa.zookeeper.Reconfigurer"); - assertZookeeperServerImplementation(true, "com.yahoo.vespa.zookeeper.VespaZooKeeperAdminImpl"); + public void reconfigurableZookeeperServerComponentsForClusterController() { + assertZookeeperServerImplementation("com.yahoo.vespa.zookeeper.ReconfigurableVespaZooKeeperServer"); + assertZookeeperServerImplementation("com.yahoo.vespa.zookeeper.Reconfigurer"); + assertZookeeperServerImplementation("com.yahoo.vespa.zookeeper.VespaZooKeeperAdminImpl"); } private int resolveMaxInhibitedGroupsConfigWithFeatureFlag(int maxGroups) { diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java b/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java index 2568ff23f9e..4c93971a661 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java @@ -167,7 +167,6 @@ public class ModelContextImpl implements ModelContext { private final boolean useAccessControlTlsHandshakeClientAuth; private final boolean useAsyncMessageHandlingOnSchedule; private final double feedConcurrency; - private final boolean reconfigurableZookeeperServer; private final boolean useBucketExecutorForLidSpaceCompact; private final boolean useBucketExecutorForBucketMove; private final boolean enableFeedBlockInDistributor; @@ -192,7 +191,6 @@ public class ModelContextImpl implements ModelContext { this.useAccessControlTlsHandshakeClientAuth = flagValue(source, appId, Flags.USE_ACCESS_CONTROL_CLIENT_AUTHENTICATION); this.useAsyncMessageHandlingOnSchedule = flagValue(source, appId, Flags.USE_ASYNC_MESSAGE_HANDLING_ON_SCHEDULE); this.feedConcurrency = flagValue(source, appId, Flags.FEED_CONCURRENCY); - this.reconfigurableZookeeperServer = flagValue(source, appId, Flags.RECONFIGURABLE_ZOOKEEPER_SERVER_FOR_CLUSTER_CONTROLLER); this.useBucketExecutorForLidSpaceCompact = flagValue(source, appId, Flags.USE_BUCKET_EXECUTOR_FOR_LID_SPACE_COMPACT); this.useBucketExecutorForBucketMove = flagValue(source, appId, Flags.USE_BUCKET_EXECUTOR_FOR_BUCKET_MOVE); this.enableFeedBlockInDistributor = flagValue(source, appId, Flags.ENABLE_FEED_BLOCK_IN_DISTRIBUTOR); @@ -217,7 +215,6 @@ public class ModelContextImpl implements ModelContext { @Override public boolean useAccessControlTlsHandshakeClientAuth() { return useAccessControlTlsHandshakeClientAuth; } @Override public boolean useAsyncMessageHandlingOnSchedule() { return useAsyncMessageHandlingOnSchedule; } @Override public double feedConcurrency() { return feedConcurrency; } - @Override public boolean reconfigurableZookeeperServer() { return reconfigurableZookeeperServer; } @Override public boolean useBucketExecutorForLidSpaceCompact() { return useBucketExecutorForLidSpaceCompact; } @Override public boolean useBucketExecutorForBucketMove() { return useBucketExecutorForBucketMove; } @Override public boolean enableFeedBlockInDistributor() { return enableFeedBlockInDistributor; } -- cgit v1.2.3