@Test(timeOut = 60_000) public void testRunningQuery() throws Exception { queryRunner.execute("SELECT COUNT(*), clerk FROM orders GROUP BY clerk"); while (true) { ResourceGroupInfo global = queryRunner.getCoordinator().getResourceGroupManager().get().getResourceGroupInfo(new ResourceGroupId(new ResourceGroupId("global"), "bi-user")); if (global.getSoftMemoryLimit().toBytes() > 0) { break; } TimeUnit.SECONDS.sleep(2); } }
public static void waitForGlobalResourceGroup(DistributedQueryRunner queryRunner) throws InterruptedException { long startTime = System.nanoTime(); while (true) { SECONDS.sleep(1); ResourceGroupInfo global = getResourceGroupManager(queryRunner).getResourceGroupInfo(new ResourceGroupId("global")); if (global.getSoftMemoryLimit().toBytes() > 0) { break; } assertLessThan(nanosSince(startTime).roundTo(SECONDS), 60L); } }
private static void assertGroupInfoEquals(ResourceGroupInfo actual, ResourceGroupInfo expected) { assertTrue(actual.getSchedulingWeight() == expected.getSchedulingWeight() && actual.getSoftConcurrencyLimit() == expected.getSoftConcurrencyLimit() && actual.getHardConcurrencyLimit() == expected.getHardConcurrencyLimit() && actual.getMaxQueuedQueries() == expected.getMaxQueuedQueries() && actual.getNumQueuedQueries() == expected.getNumQueuedQueries() && actual.getNumRunningQueries() == expected.getNumRunningQueries() && actual.getNumEligibleSubGroups() == expected.getNumEligibleSubGroups() && Objects.equals(actual.getId(), expected.getId()) && actual.getState() == expected.getState() && actual.getSchedulingPolicy() == expected.getSchedulingPolicy() && Objects.equals(actual.getSoftMemoryLimit(), expected.getSoftMemoryLimit()) && Objects.equals(actual.getMemoryUsage(), expected.getMemoryUsage())); } }
assertEquals(rootInfo.getId(), root.getId()); assertEquals(rootInfo.getState(), CAN_RUN); assertEquals(rootInfo.getSoftMemoryLimit(), root.getSoftMemoryLimit()); assertEquals(rootInfo.getMemoryUsage(), new DataSize(0, BYTE)); assertEquals(rootInfo.getSubGroups().size(), 2); assertEquals(rootInfo.getSubGroups().get(0).getId(), rootA.getId()); assertEquals(rootInfo.getSubGroups().get(0).getState(), CAN_QUEUE); assertEquals(rootInfo.getSubGroups().get(0).getSoftMemoryLimit(), rootA.getSoftMemoryLimit()); assertEquals(rootInfo.getSubGroups().get(0).getHardConcurrencyLimit(), rootA.getHardConcurrencyLimit()); assertEquals(rootInfo.getSubGroups().get(0).getMaxQueuedQueries(), rootA.getMaxQueuedQueries()); assertEquals(rootInfo.getSubGroups().get(1).getId(), rootB.getId()); assertEquals(rootInfo.getSubGroups().get(1).getState(), CAN_QUEUE); assertEquals(rootInfo.getSubGroups().get(1).getSoftMemoryLimit(), rootB.getSoftMemoryLimit()); assertEquals(rootInfo.getSubGroups().get(1).getHardConcurrencyLimit(), rootB.getHardConcurrencyLimit()); assertEquals(rootInfo.getSubGroups().get(1).getMaxQueuedQueries(), rootB.getMaxQueuedQueries());
@Test(timeOut = 60_000) public void testRunningQuery() throws Exception { queryRunner.execute("SELECT COUNT(*), clerk FROM orders GROUP BY clerk"); while (true) { ResourceGroupInfo global = queryRunner.getCoordinator().getResourceGroupManager().get().getResourceGroupInfo(new ResourceGroupId(new ResourceGroupId("global"), "bi-user")); if (global.getSoftMemoryLimit().toBytes() > 0) { break; } TimeUnit.SECONDS.sleep(2); } }
public static void waitForGlobalResourceGroup(DistributedQueryRunner queryRunner) throws InterruptedException { long startTime = System.nanoTime(); while (true) { SECONDS.sleep(1); ResourceGroupInfo global = getResourceGroupManager(queryRunner).getResourceGroupInfo(new ResourceGroupId("global")); if (global.getSoftMemoryLimit().toBytes() > 0) { break; } assertLessThan(nanosSince(startTime).roundTo(SECONDS), 60L); } }