Search in sources :

Example 11 with ScheduledQueryMaintenanceRequest

use of org.apache.hadoop.hive.metastore.api.ScheduledQueryMaintenanceRequest in project hive by apache.

the class TestMetastoreScheduledQueries method createEverySecondSchq.

private void createEverySecondSchq(ScheduledQueryKey schqKey) throws MetaException, TException {
    ScheduledQuery schq = createScheduledQuery(schqKey);
    ScheduledQueryMaintenanceRequest r = new ScheduledQueryMaintenanceRequest();
    r.setType(ScheduledQueryMaintenanceRequestType.CREATE);
    r.setScheduledQuery(schq);
    client.scheduledQueryMaintenance(r);
}
Also used : ScheduledQueryMaintenanceRequest(org.apache.hadoop.hive.metastore.api.ScheduledQueryMaintenanceRequest) ScheduledQuery(org.apache.hadoop.hive.metastore.api.ScheduledQuery)

Example 12 with ScheduledQueryMaintenanceRequest

use of org.apache.hadoop.hive.metastore.api.ScheduledQueryMaintenanceRequest in project hive by apache.

the class TestMetastoreScheduledQueries method testDeleteNonExistent.

@Test(expected = NoSuchObjectException.class)
public void testDeleteNonExistent() throws Exception {
    ScheduledQuery schq = createScheduledQuery(createKey("nonexistent", "nsdel"));
    ScheduledQueryMaintenanceRequest r = new ScheduledQueryMaintenanceRequest();
    r.setType(ScheduledQueryMaintenanceRequestType.DROP);
    r.setScheduledQuery(schq);
    client.scheduledQueryMaintenance(r);
}
Also used : ScheduledQueryMaintenanceRequest(org.apache.hadoop.hive.metastore.api.ScheduledQueryMaintenanceRequest) ScheduledQuery(org.apache.hadoop.hive.metastore.api.ScheduledQuery) MetastoreUnitTest(org.apache.hadoop.hive.metastore.annotation.MetastoreUnitTest) Test(org.junit.Test)

Example 13 with ScheduledQueryMaintenanceRequest

use of org.apache.hadoop.hive.metastore.api.ScheduledQueryMaintenanceRequest in project hive by apache.

the class TestMetastoreScheduledQueries method testDisabledMaintenance.

@Test
public void testDisabledMaintenance() throws MetaException, TException {
    try {
        MetastoreConf.setBoolVar(metaStore.getConf(), ConfVars.SCHEDULED_QUERIES_ENABLED, false);
        ObjectStore objStore = new ObjectStore();
        objStore.setConf(metaStore.getConf());
        thrown.expect(MetaException.class);
        thrown.expectMessage(Matchers.contains(ConfVars.SCHEDULED_QUERIES_ENABLED.getVarname()));
        objStore.scheduledQueryMaintenance(new ScheduledQueryMaintenanceRequest());
    } finally {
        MetastoreConf.setBoolVar(metaStore.getConf(), ConfVars.SCHEDULED_QUERIES_ENABLED, true);
    }
}
Also used : ObjectStore(org.apache.hadoop.hive.metastore.ObjectStore) ScheduledQueryMaintenanceRequest(org.apache.hadoop.hive.metastore.api.ScheduledQueryMaintenanceRequest) MetastoreUnitTest(org.apache.hadoop.hive.metastore.annotation.MetastoreUnitTest) Test(org.junit.Test)

Example 14 with ScheduledQueryMaintenanceRequest

use of org.apache.hadoop.hive.metastore.api.ScheduledQueryMaintenanceRequest in project hive by apache.

the class TestMetastoreScheduledQueries method testCreate.

@Test
public void testCreate() throws Exception {
    ScheduledQuery schq = createScheduledQuery(createKey("create", "c1"));
    ScheduledQueryMaintenanceRequest r = new ScheduledQueryMaintenanceRequest();
    r.setType(ScheduledQueryMaintenanceRequestType.CREATE);
    r.setScheduledQuery(schq);
    client.scheduledQueryMaintenance(r);
    ScheduledQuery schq2 = client.getScheduledQuery(new ScheduledQueryKey("create", "c1"));
    // next execution is set by remote
    schq.setNextExecution(schq2.getNextExecution());
    assertEquals(schq2, schq);
}
Also used : ScheduledQueryMaintenanceRequest(org.apache.hadoop.hive.metastore.api.ScheduledQueryMaintenanceRequest) ScheduledQueryKey(org.apache.hadoop.hive.metastore.api.ScheduledQueryKey) ScheduledQuery(org.apache.hadoop.hive.metastore.api.ScheduledQuery) MetastoreUnitTest(org.apache.hadoop.hive.metastore.annotation.MetastoreUnitTest) Test(org.junit.Test)

Example 15 with ScheduledQueryMaintenanceRequest

use of org.apache.hadoop.hive.metastore.api.ScheduledQueryMaintenanceRequest in project hive by apache.

the class TestMetastoreScheduledQueries method testExclusivePoll.

@Test
public void testExclusivePoll() throws Exception {
    try {
        ObjectStoreTestHook.instance = new ObjectStoreTestHook() {

            @Override
            public void scheduledQueryPoll() {
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    throw new RuntimeException(e);
                }
            }
        };
        ScheduledQuery schq = createScheduledQuery(new ScheduledQueryKey("q1", "exclusive"));
        ScheduledQueryMaintenanceRequest r = new ScheduledQueryMaintenanceRequest();
        r.setType(ScheduledQueryMaintenanceRequestType.CREATE);
        r.setScheduledQuery(schq);
        client.scheduledQueryMaintenance(r);
        // wait 1 sec for next execution
        Thread.sleep(1000);
        ExecutorService pool = Executors.newCachedThreadPool();
        Future<ScheduledQueryPollResponse> f1 = pool.submit(new AsyncPollCall("exclusive"));
        Future<ScheduledQueryPollResponse> f2 = pool.submit(new AsyncPollCall("exclusive"));
        ScheduledQueryPollResponse resp1 = f1.get();
        ScheduledQueryPollResponse resp2 = f2.get();
        assertTrue(resp1.isSetQuery() ^ resp2.isSetQuery());
        pool.shutdown();
    } finally {
        ObjectStoreTestHook.instance = null;
    }
}
Also used : ScheduledQueryPollResponse(org.apache.hadoop.hive.metastore.api.ScheduledQueryPollResponse) ScheduledQueryMaintenanceRequest(org.apache.hadoop.hive.metastore.api.ScheduledQueryMaintenanceRequest) ExecutorService(java.util.concurrent.ExecutorService) ScheduledQueryKey(org.apache.hadoop.hive.metastore.api.ScheduledQueryKey) ObjectStoreTestHook(org.apache.hadoop.hive.metastore.ObjectStoreTestHook) ScheduledQuery(org.apache.hadoop.hive.metastore.api.ScheduledQuery) MetastoreUnitTest(org.apache.hadoop.hive.metastore.annotation.MetastoreUnitTest) Test(org.junit.Test)

Aggregations

ScheduledQueryMaintenanceRequest (org.apache.hadoop.hive.metastore.api.ScheduledQueryMaintenanceRequest)15 ScheduledQuery (org.apache.hadoop.hive.metastore.api.ScheduledQuery)13 MetastoreUnitTest (org.apache.hadoop.hive.metastore.annotation.MetastoreUnitTest)12 Test (org.junit.Test)12 ScheduledQueryKey (org.apache.hadoop.hive.metastore.api.ScheduledQueryKey)7 ScheduledQueryPollRequest (org.apache.hadoop.hive.metastore.api.ScheduledQueryPollRequest)4 ScheduledQueryPollResponse (org.apache.hadoop.hive.metastore.api.ScheduledQueryPollResponse)4 PersistenceManager (javax.jdo.PersistenceManager)3 ObjectStore (org.apache.hadoop.hive.metastore.ObjectStore)3 MScheduledExecution (org.apache.hadoop.hive.metastore.model.MScheduledExecution)3 ExecutorService (java.util.concurrent.ExecutorService)1 JDOObjectNotFoundException (javax.jdo.JDOObjectNotFoundException)1 ObjectStoreTestHook (org.apache.hadoop.hive.metastore.ObjectStoreTestHook)1 ScheduledQueryProgressInfo (org.apache.hadoop.hive.metastore.api.ScheduledQueryProgressInfo)1 Hive (org.apache.hadoop.hive.ql.metadata.Hive)1