summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2020-02-15 13:12:57 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2020-02-15 13:12:57 +0000
commit6393b18c87614ab8bda956414bc0d9f2a963fd8d (patch)
treeb61b2b12b55b49998910b4927a2614f59e099d73
parente2959282016fa77d7b64aa6511286387e360b153 (diff)
Make the resourcepool a proper child of the dispatcher.
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/search/ContainerSearch.java6
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/search/RpcResourcePoolComponent.java13
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/search/test/SearchClusterTest.java19
3 files changed, 25 insertions, 13 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/search/ContainerSearch.java b/config-model/src/main/java/com/yahoo/vespa/model/container/search/ContainerSearch.java
index b215173c40b..298a48c4e23 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/search/ContainerSearch.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/search/ContainerSearch.java
@@ -8,6 +8,7 @@ import com.yahoo.search.pagetemplates.PageTemplatesConfig;
import com.yahoo.search.query.profile.config.QueryProfilesConfig;
import com.yahoo.vespa.configdefinition.IlscriptsConfig;
import com.yahoo.vespa.model.container.ApplicationContainerCluster;
+import com.yahoo.vespa.model.container.component.Component;
import com.yahoo.vespa.model.container.component.ContainerSubsystem;
import com.yahoo.vespa.model.container.search.searchchain.LocalProvider;
import com.yahoo.vespa.model.container.search.searchchain.SearchChains;
@@ -58,9 +59,10 @@ public class ContainerSearch extends ContainerSubsystem<SearchChains>
private void initializeDispatchers(Collection<AbstractSearchCluster> searchClusters) {
for (AbstractSearchCluster searchCluster : searchClusters) {
if ( ! ( searchCluster instanceof IndexedSearchCluster)) continue;
- var dispatcher = new DispatcherComponent((IndexedSearchCluster)searchCluster);
- var rpcResoucePool = new RpcResourcePoolComponent(dispatcher);
+ Component dispatcher = new DispatcherComponent((IndexedSearchCluster)searchCluster);
+ Component rpcResoucePool = new RpcResourcePoolComponent();
dispatcher.injectForName(rpcResoucePool.getComponentId().getName(), rpcResoucePool);
+ dispatcher.addComponent(rpcResoucePool);
owningCluster.addComponent(dispatcher);
}
}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/search/RpcResourcePoolComponent.java b/config-model/src/main/java/com/yahoo/vespa/model/container/search/RpcResourcePoolComponent.java
index 1bb7032eddc..b87580909b9 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/search/RpcResourcePoolComponent.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/search/RpcResourcePoolComponent.java
@@ -7,15 +7,12 @@ import com.yahoo.vespa.model.container.xml.BundleMapper;
public class RpcResourcePoolComponent extends Component<RpcResourcePoolComponent, ComponentModel> {
- public RpcResourcePoolComponent(DispatcherComponent dispatcher) {
- super(toComponentModel(dispatcher));
+ public RpcResourcePoolComponent() {
+ super(toComponentModel());
}
- private static ComponentModel toComponentModel(DispatcherComponent dispatcherComponent) {
- String componentId = "rpcresourcepool." + dispatcherComponent.getComponentId().getName();
- return new ComponentModel(componentId,
- "com.yahoo.search.dispatch.rpc.RpcResourcePool",
- BundleMapper.searchAndDocprocBundle,
- null);
+ private static ComponentModel toComponentModel() {
+ String className = "com.yahoo.search.dispatch.rpc.RpcResourcePool";
+ return new ComponentModel(className, className, BundleMapper.searchAndDocprocBundle, null);
}
}
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/search/test/SearchClusterTest.java b/config-model/src/test/java/com/yahoo/vespa/model/search/test/SearchClusterTest.java
index c4f96886b0d..e5bc0644e10 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/search/test/SearchClusterTest.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/search/test/SearchClusterTest.java
@@ -22,7 +22,11 @@ import com.yahoo.vespa.model.test.utils.ApplicationPackageUtils;
import com.yahoo.vespa.model.test.utils.VespaModelCreatorWithMockPkg;
import org.junit.Test;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
/**
* Unit tests for SearchCluster. Please use this instead of SearchModelTestCase if possible and
@@ -170,10 +174,19 @@ public class SearchClusterTest {
assertEquals("com.yahoo.search.dispatch.Dispatcher", dispatcher.getClassId().stringValue());
assertEquals("j1/component/dispatcher." + cluster, dispatcher.getConfigId());
DispatchConfig.Builder dispatchConfigBuilder = new DispatchConfig.Builder();
- model.getConfig(dispatchConfigBuilder, "j1/component/dispatcher." + cluster);
+ model.getConfig(dispatchConfigBuilder, dispatcher.getConfigId());
assertEquals(host, dispatchConfigBuilder.build().node(0).host());
- assertTrue(dispatcher.getInjectedComponentIds().contains("rpcresourcepool.dispatcher." + cluster));
+ assertTrue(dispatcher.getInjectedComponentIds().contains("com.yahoo.search.dispatch.rpc.RpcResourcePool"));
+
+ Component<?,?> rpcResourcePool = (Component<?, ?>)dispatcher.getChildren().get("com.yahoo.search.dispatch.rpc.RpcResourcePool");
+ assertNotNull(rpcResourcePool);
+ assertEquals("com.yahoo.search.dispatch.rpc.RpcResourcePool", rpcResourcePool.getComponentId().stringValue());
+ assertEquals("com.yahoo.search.dispatch.rpc.RpcResourcePool", rpcResourcePool.getClassId().stringValue());
+ assertEquals("j1/component/dispatcher." + cluster + "/com.yahoo.search.dispatch.rpc.RpcResourcePool", rpcResourcePool.getConfigId());
+ dispatchConfigBuilder = new DispatchConfig.Builder();
+ model.getConfig(dispatchConfigBuilder, rpcResourcePool.getConfigId());
+ assertEquals(host, dispatchConfigBuilder.build().node(0).host());
}
}