Search in sources :

Example 11 with Query

use of org.apache.apex.malhar.lib.appdata.schemas.Query in project apex-malhar by apache.

the class WEQueryQueueManagerTest method testExpirationReadAll.

@Test
public void testExpirationReadAll() {
    final int numQueries = 3;
    WindowEndQueueManager<Query, Void> wqqm = new WindowEndQueueManager<>();
    wqqm.setup(null);
    wqqm.beginWindow(0);
    for (int qc = 0; qc < numQueries; qc++) {
        Query query = new MockQuery(Integer.toString(qc));
        wqqm.enqueue(query, null, new MutableLong(2L));
    }
    wqqm.endWindow();
    wqqm.beginWindow(1);
    {
        int qc = 0;
        for (QueryBundle<Query, Void, MutableLong> qb; (qb = wqqm.dequeue()) != null; qc++) {
            Query query = qb.getQuery();
            Assert.assertEquals("Query ids must equal.", Integer.toString(qc), query.getId());
        }
        Assert.assertEquals("The number of queries must match.", numQueries, qc);
    }
    wqqm.endWindow();
    wqqm.beginWindow(2);
    Assert.assertEquals("There should be no queries now", null, wqqm.dequeue());
    wqqm.endWindow();
    wqqm.teardown();
}
Also used : MutableLong(org.apache.commons.lang3.mutable.MutableLong) Query(org.apache.apex.malhar.lib.appdata.schemas.Query) Test(org.junit.Test)

Example 12 with Query

use of org.apache.apex.malhar.lib.appdata.schemas.Query in project apex-malhar by apache.

the class WEQueryQueueManagerTest method testSimpleAddRemove2.

@Test
public void testSimpleAddRemove2() {
    WindowEndQueueManager<Query, Void> wqqm = new WindowEndQueueManager<>();
    wqqm.setup(null);
    wqqm.beginWindow(0);
    Query query = new MockQuery("1");
    wqqm.enqueue(query, null, new MutableLong(1L));
    Query queryD = wqqm.dequeue().getQuery();
    QueryBundle<Query, Void, MutableLong> qb = wqqm.dequeue();
    Query queryD1 = qb == null ? null : qb.getQuery();
    Query query1 = new MockQuery("2");
    wqqm.enqueue(query1, null, new MutableLong(1L));
    Query query1D = wqqm.dequeue().getQuery();
    qb = wqqm.dequeue();
    Query query1D1 = qb == null ? null : qb.getQuery();
    wqqm.endWindow();
    wqqm.teardown();
    Assert.assertEquals("The queries must match.", query, queryD);
    Assert.assertEquals("The queries must match.", null, queryD1);
    Assert.assertEquals("The queries must match.", query1, query1D);
    Assert.assertEquals("The queries must match.", null, query1D1);
}
Also used : MutableLong(org.apache.commons.lang3.mutable.MutableLong) Query(org.apache.apex.malhar.lib.appdata.schemas.Query) Test(org.junit.Test)

Example 13 with Query

use of org.apache.apex.malhar.lib.appdata.schemas.Query in project apex-malhar by apache.

the class SimpleDoneQueryQueueManagerTest method resetPermitsTest.

@Test
public void resetPermitsTest() throws Exception {
    SimpleDoneQueueManager<Query, Void> sdqqm = new SimpleDoneQueueManager<Query, Void>();
    sdqqm.setup(null);
    sdqqm.beginWindow(0);
    Query query = new MockQuery("1");
    sdqqm.enqueue(query, null, new MutableBoolean(false));
    Assert.assertEquals(1, sdqqm.getNumLeft());
    Assert.assertEquals(sdqqm.getNumPermits(), sdqqm.getNumLeft());
    QueryBundle<Query, Void, MutableBoolean> qb = sdqqm.dequeueBlock();
    Assert.assertEquals(0, sdqqm.getNumLeft());
    Assert.assertEquals(sdqqm.getNumPermits(), sdqqm.getNumLeft());
    sdqqm.endWindow();
    sdqqm.beginWindow(1);
    Assert.assertEquals(1, sdqqm.getNumLeft());
    Assert.assertEquals(sdqqm.getNumPermits(), sdqqm.getNumLeft());
    qb = sdqqm.dequeueBlock();
    Assert.assertEquals(0, sdqqm.getNumLeft());
    Assert.assertEquals(sdqqm.getNumPermits(), sdqqm.getNumLeft());
    testBlocking(sdqqm);
    sdqqm.endWindow();
}
Also used : Query(org.apache.apex.malhar.lib.appdata.schemas.Query) MutableBoolean(org.apache.commons.lang3.mutable.MutableBoolean) Test(org.junit.Test)

Example 14 with Query

use of org.apache.apex.malhar.lib.appdata.schemas.Query in project apex-malhar by apache.

the class SimpleDoneQueryQueueManagerTest method firstDoneTest.

@Test
public void firstDoneTest() {
    SimpleDoneQueueManager<Query, Void> sdqqm = new SimpleDoneQueueManager<Query, Void>();
    sdqqm.setup(null);
    sdqqm.beginWindow(0);
    Query query = new MockQuery("1");
    sdqqm.enqueue(query, null, new MutableBoolean(true));
    QueryBundle<Query, Void, MutableBoolean> qb = sdqqm.dequeue();
    Assert.assertEquals("Should return back null.", null, qb);
    sdqqm.endWindow();
    sdqqm.beginWindow(1);
    qb = sdqqm.dequeue();
    Assert.assertEquals("Should return back null.", null, qb);
    qb = sdqqm.dequeue();
    Assert.assertEquals("Should return back null.", null, qb);
    sdqqm.endWindow();
    sdqqm.teardown();
}
Also used : Query(org.apache.apex.malhar.lib.appdata.schemas.Query) MutableBoolean(org.apache.commons.lang3.mutable.MutableBoolean) Test(org.junit.Test)

Example 15 with Query

use of org.apache.apex.malhar.lib.appdata.schemas.Query in project apex-malhar by apache.

the class SimpleDoneQueryQueueManagerTest method expiredTestBlockingExpiredFirstValidLast.

@Test
public void expiredTestBlockingExpiredFirstValidLast() throws Exception {
    SimpleDoneQueueManager<Query, Void> sdqqm = new SimpleDoneQueueManager<Query, Void>();
    sdqqm.setup(null);
    sdqqm.beginWindow(0);
    Query query = new MockQuery("1");
    MutableBoolean queueContext = new MutableBoolean(false);
    sdqqm.enqueue(query, null, queueContext);
    Query query1 = new MockQuery("2");
    MutableBoolean queueContext1 = new MutableBoolean(false);
    sdqqm.enqueue(query1, null, queueContext1);
    Assert.assertEquals(2, sdqqm.getNumLeft());
    Assert.assertEquals(sdqqm.getNumPermits(), sdqqm.getNumLeft());
    QueryBundle<Query, Void, MutableBoolean> qb = sdqqm.dequeueBlock();
    Assert.assertEquals(1, sdqqm.getNumLeft());
    Assert.assertEquals(sdqqm.getNumPermits(), sdqqm.getNumLeft());
    sdqqm.endWindow();
    sdqqm.beginWindow(1);
    Assert.assertEquals(2, sdqqm.getNumLeft());
    Assert.assertEquals(sdqqm.getNumPermits(), sdqqm.getNumLeft());
    queueContext.setValue(true);
    qb = sdqqm.dequeueBlock();
    Assert.assertEquals(0, sdqqm.getNumLeft());
    Assert.assertEquals(sdqqm.getNumPermits(), sdqqm.getNumLeft());
    testBlocking(sdqqm);
    sdqqm.endWindow();
    sdqqm.beginWindow(2);
    Assert.assertEquals(1, sdqqm.getNumLeft());
    Assert.assertEquals(sdqqm.getNumPermits(), sdqqm.getNumLeft());
    qb = sdqqm.dequeueBlock();
    testBlocking(sdqqm);
    sdqqm.endWindow();
    sdqqm.teardown();
}
Also used : Query(org.apache.apex.malhar.lib.appdata.schemas.Query) MutableBoolean(org.apache.commons.lang3.mutable.MutableBoolean) Test(org.junit.Test)

Aggregations

Query (org.apache.apex.malhar.lib.appdata.schemas.Query)19 Test (org.junit.Test)19 MutableBoolean (org.apache.commons.lang3.mutable.MutableBoolean)11 MutableLong (org.apache.commons.lang3.mutable.MutableLong)6 ExceptionSaverExceptionHandler (org.apache.apex.malhar.lib.appdata.ThreadUtils.ExceptionSaverExceptionHandler)1 Result (org.apache.apex.malhar.lib.appdata.schemas.Result)1