diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2020-02-15 13:12:57 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2020-02-15 13:12:57 +0000 |
commit | 6393b18c87614ab8bda956414bc0d9f2a963fd8d (patch) | |
tree | b61b2b12b55b49998910b4927a2614f59e099d73 | |
parent | e2959282016fa77d7b64aa6511286387e360b153 (diff) |
Make the resourcepool a proper child of the dispatcher.
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()); } } |