diff options
author | Olli Virtanen <ovirtanen@gmail.com> | 2019-01-28 15:34:05 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-01-28 15:34:05 +0100 |
commit | 4d971ad6770b55493a98b4b28a3c5f21d78fca2e (patch) | |
tree | c24405feceb9ebcec8ed665be18c82af2c854a1a /config-model | |
parent | eee0eddbb47fcf02a01c9afa3699af22c3196c57 (diff) | |
parent | 20022c333ba3b3f59f51aaf0398157b624129ff9 (diff) |
Merge pull request #8259 from vespa-engine/ollivir/java-dispatch-feature-flag
Java dispatch/fdispatch default feature flag
Diffstat (limited to 'config-model')
5 files changed, 13 insertions, 71 deletions
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 83e595e1513..a6f2a205f94 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 @@ -35,6 +35,7 @@ public class TestProperties implements ModelContext.Properties { private boolean isBootstrap = false; private boolean isFirstTimeDeployment = false; private boolean useDedicatedNodeForLogserver = false; + private boolean useFdispatchByDefault = true; @Override public boolean multitenant() { return multitenant; } @Override public ApplicationId applicationId() { return applicationId; } @@ -48,6 +49,7 @@ public class TestProperties implements ModelContext.Properties { @Override public boolean isBootstrap() { return isBootstrap; } @Override public boolean isFirstTimeDeployment() { return isFirstTimeDeployment; } @Override public boolean useDedicatedNodeForLogserver() { return useDedicatedNodeForLogserver; } + @Override public boolean useFdispatchByDefault() { return useFdispatchByDefault; } public TestProperties setApplicationId(ApplicationId applicationId) { this.applicationId = applicationId; diff --git a/config-model/src/main/java/com/yahoo/vespa/model/content/ContentSearchCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/content/ContentSearchCluster.java index 4c8a086bdcb..7900ce9ffec 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/content/ContentSearchCluster.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/content/ContentSearchCluster.java @@ -137,7 +137,7 @@ public class ContentSearchCluster extends AbstractConfigProducer implements Prot String clusterName, ContentSearchCluster search) { List<ModelElement> indexedDefs = getIndexedSearchDefinitions(clusterElem); if (!indexedDefs.isEmpty()) { - IndexedSearchCluster isc = new IndexedSearchCluster(search, clusterName, 0); + IndexedSearchCluster isc = new IndexedSearchCluster(search, clusterName, 0, deployState); isc.setRoutingSelector(clusterElem.childAsString("documents.selection")); Double visibilityDelay = clusterElem.childAsDouble("engine.proton.visibility-delay"); diff --git a/config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java index 2d11f868f04..6aa023e486b 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java @@ -106,6 +106,7 @@ public class IndexedSearchCluster extends SearchCluster private final SimpleConfigProducer dispatchParent; private final DispatchGroup rootDispatch; private DispatchSpec dispatchSpec; + private final boolean useFdispatchByDefault; private List<SearchNode> searchNodes = new ArrayList<>(); /** @@ -118,11 +119,12 @@ public class IndexedSearchCluster extends SearchCluster return routingSelector; } - public IndexedSearchCluster(AbstractConfigProducer parent, String clusterName, int index) { + public IndexedSearchCluster(AbstractConfigProducer parent, String clusterName, int index, DeployState deployState) { super(parent, clusterName, index); unionCfg = new UnionConfiguration(this, documentDbs); dispatchParent = new SimpleConfigProducer(this, "dispatchers"); rootDispatch = new DispatchGroup(this); + useFdispatchByDefault = deployState.getProperties().useFdispatchByDefault(); } @Override @@ -430,6 +432,7 @@ public class IndexedSearchCluster extends SearchCluster } builder.maxNodesDownPerGroup(rootDispatch.getMaxNodesDownPerFixedRow()); builder.useMultilevelDispatch(useMultilevelDispatchSetup()); + builder.useFdispatchByDefault(useFdispatchByDefault); builder.useLocalNode(tuning.dispatch.useLocalNode); builder.searchableCopies(rootDispatch.getSearchableCopies()); if (searchCoverage != null) { diff --git a/config-model/src/test/java/com/yahoo/config/model/MockModelContext.java b/config-model/src/test/java/com/yahoo/config/model/MockModelContext.java index 948c62c2343..18d017d76f0 100644 --- a/config-model/src/test/java/com/yahoo/config/model/MockModelContext.java +++ b/config-model/src/test/java/com/yahoo/config/model/MockModelContext.java @@ -75,7 +75,7 @@ public class MockModelContext implements ModelContext { public FileRegistry getFileRegistry() { return new MockFileRegistry(); } - + @Override public Version modelVespaVersion() { return new Version(6); } @@ -136,6 +136,9 @@ public class MockModelContext implements ModelContext { @Override public boolean useDedicatedNodeForLogserver() { return false; } + + @Override + public boolean useFdispatchByDefault() { return true; } }; } } diff --git a/config-model/src/test/java/com/yahoo/vespa/model/VespaModelFactoryTest.java b/config-model/src/test/java/com/yahoo/vespa/model/VespaModelFactoryTest.java index e4198115b2a..febccaca3a5 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/VespaModelFactoryTest.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/VespaModelFactoryTest.java @@ -5,7 +5,6 @@ import com.yahoo.component.Version; import com.yahoo.config.application.api.ApplicationPackage; import com.yahoo.config.model.MockModelContext; import com.yahoo.config.model.NullConfigModelRegistry; -import com.yahoo.config.model.api.ConfigServerSpec; import com.yahoo.config.model.api.HostInfo; import com.yahoo.config.model.api.HostProvisioner; import com.yahoo.config.model.api.Model; @@ -13,29 +12,20 @@ import com.yahoo.config.model.api.ModelContext; import com.yahoo.config.model.api.ModelCreateResult; import com.yahoo.config.model.api.ServiceInfo; import com.yahoo.config.model.api.ValidationParameters; +import com.yahoo.config.model.deploy.TestProperties; import com.yahoo.config.model.test.MockApplicationPackage; -import com.yahoo.config.provision.ApplicationId; -import com.yahoo.config.provision.ApplicationName; import com.yahoo.config.provision.Capacity; import com.yahoo.config.provision.ClusterMembership; import com.yahoo.config.provision.ClusterSpec; -import com.yahoo.config.provision.HostName; import com.yahoo.config.provision.HostSpec; -import com.yahoo.config.provision.InstanceName; import com.yahoo.config.provision.ProvisionLogger; -import com.yahoo.config.provision.Rotation; -import com.yahoo.config.provision.TenantName; -import com.yahoo.config.provision.Zone; import org.junit.Before; import org.junit.Test; -import java.net.URI; import java.util.ArrayList; import java.util.Collections; -import java.util.HashSet; import java.util.List; import java.util.Optional; -import java.util.Set; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertNotNull; @@ -163,63 +153,7 @@ public class VespaModelFactoryTest { @Override public Properties properties() { - return new Properties() { - @Override - public boolean multitenant() { - return true; - } - - @Override - public boolean hostedVespa() { - return true; - } - - @Override - public Zone zone() { - return Zone.defaultZone(); - } - - @Override - public Set<Rotation> rotations() { - return new HashSet<>(); - } - - @Override - public ApplicationId applicationId() { - return ApplicationId.from(TenantName.from("hosted-vespa"), - ApplicationName.from("routing"), - InstanceName.defaultName()); - } - - @Override - public List<ConfigServerSpec> configServerSpecs() { - return Collections.emptyList(); - } - - @Override - public HostName loadBalancerName() { - return null; - } - - @Override - public URI ztsUrl() { - return null; - } - - @Override - public String athenzDnsSuffix() { - return null; - } - - @Override - public boolean isBootstrap() { return false; } - - @Override - public boolean isFirstTimeDeployment() { return false; } - - @Override - public boolean useDedicatedNodeForLogserver() { return false; } - }; + return new TestProperties(); } }; } |