Search in sources :

Example 11 with ResourceGroupInfo

use of com.facebook.presto.server.ResourceGroupInfo in project presto by prestodb.

the class TestResourceGroupIntegration method waitForGlobalResourceGroup.

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"), true, true, true);
        if (global.getSoftMemoryLimit().toBytes() > 0) {
            break;
        }
        assertLessThan(nanosSince(startTime).roundTo(SECONDS), 60L);
    }
}
Also used : ResourceGroupId(com.facebook.presto.spi.resourceGroups.ResourceGroupId) ResourceGroupInfo(com.facebook.presto.server.ResourceGroupInfo)

Example 12 with ResourceGroupInfo

use of com.facebook.presto.server.ResourceGroupInfo in project presto by prestodb.

the class TestDistributedResourceGroupInfoResource method testGetResourceGroupInfo.

@Test(timeOut = 220_000)
public void testGetResourceGroupInfo() throws InterruptedException, TimeoutException {
    runToCompletion(client, coordinator1, "SELECT 1", "user1");
    runToFirstResult(client, coordinator2, "SELECT * from tpch.sf100.orders", "user1");
    runToFirstResult(client, coordinator1, "SELECT * from tpch.sf101.orders", "user2");
    waitUntilCoordinatorsDiscoveredHealthyInRM(SECONDS.toMillis(15));
    ResourceGroupInfo resourceGroupInfo = getResponseEntity(client, coordinator1, "/v1/resourceGroupState/global", JsonCodec.jsonCodec(ResourceGroupInfo.class));
    assertEquals(resourceGroupInfo.getNumRunningQueries(), 2);
    Set<ResourceGroupId> subGroupResourceIdSet = resourceGroupInfo.getSubGroups().stream().map(a -> a.getId()).collect(Collectors.toSet());
    assertEquals(subGroupResourceIdSet.size(), 2);
    assertTrue(subGroupResourceIdSet.contains(new ResourceGroupId(resourceGroupInfo.getId(), "user-user1")));
    assertTrue(subGroupResourceIdSet.contains(new ResourceGroupId(resourceGroupInfo.getId(), "user-user2")));
}
Also used : JsonCodec(com.facebook.airlift.json.JsonCodec) ResourceGroupInfo(com.facebook.presto.server.ResourceGroupInfo) TestingPrestoServer(com.facebook.presto.server.testing.TestingPrestoServer) TimeoutException(java.util.concurrent.TimeoutException) Assert.assertEquals(org.testng.Assert.assertEquals) Test(org.testng.annotations.Test) JettyHttpClient(com.facebook.airlift.http.client.jetty.JettyHttpClient) DistributedQueryRunner(com.facebook.presto.tests.DistributedQueryRunner) FileResourceGroupConfigurationManagerFactory(com.facebook.presto.resourceGroups.FileResourceGroupConfigurationManagerFactory) UnexpectedResponseException(com.facebook.airlift.http.client.UnexpectedResponseException) Thread.sleep(java.lang.Thread.sleep) AfterClass(org.testng.annotations.AfterClass) ImmutableMap(com.google.common.collect.ImmutableMap) ResourceUtils.getResourceFilePath(com.facebook.presto.utils.ResourceUtils.getResourceFilePath) BeforeClass(org.testng.annotations.BeforeClass) ResourceGroupId(com.facebook.presto.spi.resourceGroups.ResourceGroupId) Set(java.util.Set) QueryExecutionClientUtil.runToCompletion(com.facebook.presto.utils.QueryExecutionClientUtil.runToCompletion) Collectors(java.util.stream.Collectors) Closeables.closeQuietly(com.facebook.airlift.testing.Closeables.closeQuietly) AllNodes(com.facebook.presto.metadata.AllNodes) String.format(java.lang.String.format) Preconditions.checkState(com.google.common.base.Preconditions.checkState) QueryExecutionClientUtil.runToFirstResult(com.facebook.presto.utils.QueryExecutionClientUtil.runToFirstResult) QueryExecutionClientUtil.getResponseEntity(com.facebook.presto.utils.QueryExecutionClientUtil.getResponseEntity) Optional(java.util.Optional) Assert.assertTrue(org.testng.Assert.assertTrue) TpchQueryRunner.createQueryRunner(com.facebook.presto.tests.tpch.TpchQueryRunner.createQueryRunner) SECONDS(java.util.concurrent.TimeUnit.SECONDS) ResourceGroupId(com.facebook.presto.spi.resourceGroups.ResourceGroupId) ResourceGroupInfo(com.facebook.presto.server.ResourceGroupInfo) Test(org.testng.annotations.Test)

Aggregations

ResourceGroupInfo (com.facebook.presto.server.ResourceGroupInfo)12 Test (org.testng.annotations.Test)9 ResourceGroupId (com.facebook.presto.spi.resourceGroups.ResourceGroupId)4 RootInternalResourceGroup (com.facebook.presto.execution.resourceGroups.InternalResourceGroup.RootInternalResourceGroup)3 DataSize (io.airlift.units.DataSize)3 UnexpectedResponseException (com.facebook.airlift.http.client.UnexpectedResponseException)2 MockManagedQueryExecution (com.facebook.presto.execution.MockManagedQueryExecution)2 DistributedQueryRunner (com.facebook.presto.tests.DistributedQueryRunner)2 JettyHttpClient (com.facebook.airlift.http.client.jetty.JettyHttpClient)1 JsonCodec (com.facebook.airlift.json.JsonCodec)1 Closeables.closeQuietly (com.facebook.airlift.testing.Closeables.closeQuietly)1 TBinaryProtocol (com.facebook.drift.protocol.TBinaryProtocol)1 TCompactProtocol (com.facebook.drift.protocol.TCompactProtocol)1 TFacebookCompactProtocol (com.facebook.drift.protocol.TFacebookCompactProtocol)1 TestQueues.createResourceGroupId (com.facebook.presto.execution.TestQueues.createResourceGroupId)1 AllNodes (com.facebook.presto.metadata.AllNodes)1 InternalNode (com.facebook.presto.metadata.InternalNode)1 FileResourceGroupConfigurationManagerFactory (com.facebook.presto.resourceGroups.FileResourceGroupConfigurationManagerFactory)1 ResourceGroupManagerPlugin (com.facebook.presto.resourceGroups.ResourceGroupManagerPlugin)1 QueryStateInfo (com.facebook.presto.server.QueryStateInfo)1