use of org.apache.drill.exec.resourcemgr.config.QueryQueueConfig in project drill by apache.
the class TestRMConfigLoad method testDefaultRMConfig.
@Test
public void testDefaultRMConfig() throws Exception {
ClusterFixtureBuilder fixtureBuilder = ClusterFixture.builder(dirTestWatcher).configProperty(ExecConstants.RM_ENABLED, true).configProperty(ExecConstants.DRILL_PORT_HUNT, true).withLocalZk();
try (ClusterFixture cluster = fixtureBuilder.build()) {
ResourceManager resourceManager = cluster.drillbit().getContext().getResourceManager();
assertTrue(resourceManager instanceof DistributedResourceManager);
ResourcePoolTree poolTree = ((DistributedResourceManager) resourceManager).getRmPoolTree();
assertTrue("In drill-rm-default root pool is not leaf pool", poolTree.getRootPool().isLeafPool());
assertTrue("selector in drill-rm-default is not acl selector", poolTree.getRootPool().getSelector() instanceof AclSelector);
assertEquals("max_query_memory_per_node in drill-rm-default is not configured with expected default value", 8 * 1024L, poolTree.getRootPool().getMaxQueryMemoryPerNode());
assertEquals("queue_selection_policy in drill-rm-default is not configured with expected default value", RMCommonDefaults.ROOT_POOL_DEFAULT_QUEUE_SELECTION_POLICY, poolTree.getSelectionPolicyInUse().getSelectionPolicy());
assertEquals("memory share of root pool in drill-rm-default is not configured with expected default value", RMCommonDefaults.ROOT_POOL_DEFAULT_MEMORY_PERCENT, poolTree.getResourceShare(), 0);
final QueryQueueConfig defaultQueue = poolTree.getRootPool().getQueryQueue();
assertEquals("max_admissible in drill-rm-default is not configured with expected default value", RMCommonDefaults.MAX_ADMISSIBLE_QUERY_COUNT, defaultQueue.getMaxAdmissibleQueries());
assertEquals("max_waiting in drill-rm-default is not configured with expected default value", RMCommonDefaults.MAX_WAITING_QUERY_COUNT, defaultQueue.getMaxWaitingQueries());
assertEquals("max_wait_timeout in drill-rm-default is not configured with expected default value", RMCommonDefaults.MAX_WAIT_TIMEOUT_IN_MS, defaultQueue.getWaitTimeoutInMs());
assertEquals("wait_for_preferred_nodes in drill-rm-default is not configured with expected default value", RMCommonDefaults.WAIT_FOR_PREFERRED_NODES, defaultQueue.waitForPreferredNodes());
}
}
use of org.apache.drill.exec.resourcemgr.config.QueryQueueConfig in project drill by apache.
the class TestBestFitSelectionPolicy method testCommonHelper.
private void testCommonHelper(long expectedPoolMem) throws Exception {
List<ResourcePool> inputPools = new ArrayList<>();
ResourcePool expectedPool = null;
for (Long poolMemory : poolMemory) {
final ResourcePool testPool = mock(ResourcePool.class);
final QueryQueueConfig testPoolQueue = mock(QueryQueueConfig.class);
when(testPool.getQueryQueue()).thenReturn(testPoolQueue);
when(testPoolQueue.getMaxQueryMemoryInMBPerNode()).thenReturn(poolMemory);
inputPools.add(testPool);
if (poolMemory == expectedPoolMem) {
expectedPool = testPool;
}
}
ResourcePool selectedPool = selectionPolicy.selectQueue(inputPools, queryContext, queryMaxResources);
assertEquals("Selected Pool and expected pool is different", expectedPool, selectedPool);
}
Aggregations