Search in sources :

Example 1 with QueryExecutor

use of org.apache.rya.streams.querymanager.QueryExecutor in project incubator-rya by apache.

the class LocalQueryExecutorTest method getRunningQueryIds_serviceNotStarted.

@Test(expected = IllegalStateException.class)
public void getRunningQueryIds_serviceNotStarted() throws Exception {
    final QueryExecutor executor = new LocalQueryExecutor(mock(CreateKafkaTopic.class), mock(KafkaStreamsFactory.class));
    executor.getRunningQueryIds();
}
Also used : CreateKafkaTopic(org.apache.rya.streams.kafka.interactor.CreateKafkaTopic) QueryExecutor(org.apache.rya.streams.querymanager.QueryExecutor) KafkaStreamsFactory(org.apache.rya.streams.kafka.KafkaStreamsFactory) Test(org.junit.Test)

Example 2 with QueryExecutor

use of org.apache.rya.streams.querymanager.QueryExecutor in project incubator-rya by apache.

the class LocalQueryExecutorTest method stopQuery_queryNotRunning.

@Test
public void stopQuery_queryNotRunning() throws Exception {
    // Start an executor.
    final QueryExecutor executor = new LocalQueryExecutor(mock(CreateKafkaTopic.class), mock(KafkaStreamsFactory.class));
    executor.startAndWait();
    try {
        // Try to stop a query that was never stareted.
        executor.stopQuery(UUID.randomUUID());
    } finally {
        executor.stopAndWait();
    }
}
Also used : CreateKafkaTopic(org.apache.rya.streams.kafka.interactor.CreateKafkaTopic) QueryExecutor(org.apache.rya.streams.querymanager.QueryExecutor) KafkaStreamsFactory(org.apache.rya.streams.kafka.KafkaStreamsFactory) Test(org.junit.Test)

Example 3 with QueryExecutor

use of org.apache.rya.streams.querymanager.QueryExecutor in project incubator-rya by apache.

the class LocalQueryExecutorTest method stopAll.

@Test
public void stopAll() throws Exception {
    // Test values.
    final String ryaInstance1 = "rya1";
    final StreamsQuery query1 = new StreamsQuery(UUID.randomUUID(), "SELECT * WHERE { ?a ?b ?c. }", true, false);
    final String ryaInstance2 = "rya2";
    final StreamsQuery query2 = new StreamsQuery(UUID.randomUUID(), "SELECT * WHERE { ?a ?b ?c. }", true, false);
    // Mock the streams factory so that we can tell if the stop function is invoked by the executor.
    final KafkaStreamsFactory jobFactory = mock(KafkaStreamsFactory.class);
    final KafkaStreams queryJob1 = mock(KafkaStreams.class);
    when(jobFactory.make(eq(ryaInstance1), eq(query1))).thenReturn(queryJob1);
    final KafkaStreams queryJob2 = mock(KafkaStreams.class);
    when(jobFactory.make(eq(ryaInstance2), eq(query2))).thenReturn(queryJob2);
    // Start the executor that will be tested.
    final QueryExecutor executor = new LocalQueryExecutor(mock(CreateKafkaTopic.class), jobFactory);
    executor.startAndWait();
    try {
        // Tell the executor to start the queries.
        executor.startQuery(ryaInstance1, query1);
        executor.startQuery(ryaInstance2, query2);
        // Verify both are running.
        verify(queryJob1).start();
        verify(queryJob2).start();
        // Tell the executor to stop queries running under rya2.
        executor.stopAll(ryaInstance2);
        // Show the first query is still running, but the second isn't.
        verify(queryJob1, never()).close();
        verify(queryJob2).close();
    } finally {
        executor.stopAndWait();
    }
}
Also used : KafkaStreams(org.apache.kafka.streams.KafkaStreams) StreamsQuery(org.apache.rya.streams.api.entity.StreamsQuery) CreateKafkaTopic(org.apache.rya.streams.kafka.interactor.CreateKafkaTopic) QueryExecutor(org.apache.rya.streams.querymanager.QueryExecutor) KafkaStreamsFactory(org.apache.rya.streams.kafka.KafkaStreamsFactory) Test(org.junit.Test)

Example 4 with QueryExecutor

use of org.apache.rya.streams.querymanager.QueryExecutor in project incubator-rya by apache.

the class LocalQueryExecutorTest method startQuery.

@Test
public void startQuery() throws Exception {
    // Test values.
    final String ryaInstance = "rya";
    final StreamsQuery query = new StreamsQuery(UUID.randomUUID(), "SELECT * WHERE { ?a ?b ?c. }", true, false);
    // Mock the streams factory so that we can tell if the start function is invoked by the executor.
    final KafkaStreamsFactory jobFactory = mock(KafkaStreamsFactory.class);
    final KafkaStreams queryJob = mock(KafkaStreams.class);
    when(jobFactory.make(eq(ryaInstance), eq(query))).thenReturn(queryJob);
    // Start the executor that will be tested.
    final QueryExecutor executor = new LocalQueryExecutor(mock(CreateKafkaTopic.class), jobFactory);
    executor.startAndWait();
    try {
        // Tell the executor to start the query.
        executor.startQuery(ryaInstance, query);
        // Show a job was started for that query's ID.
        verify(queryJob).start();
    } finally {
        executor.stopAndWait();
    }
}
Also used : KafkaStreams(org.apache.kafka.streams.KafkaStreams) StreamsQuery(org.apache.rya.streams.api.entity.StreamsQuery) CreateKafkaTopic(org.apache.rya.streams.kafka.interactor.CreateKafkaTopic) QueryExecutor(org.apache.rya.streams.querymanager.QueryExecutor) KafkaStreamsFactory(org.apache.rya.streams.kafka.KafkaStreamsFactory) Test(org.junit.Test)

Example 5 with QueryExecutor

use of org.apache.rya.streams.querymanager.QueryExecutor in project incubator-rya by apache.

the class LocalQueryExecutorTest method stopQuery_serviceNotStarted.

@Test(expected = IllegalStateException.class)
public void stopQuery_serviceNotStarted() throws Exception {
    final QueryExecutor executor = new LocalQueryExecutor(mock(CreateKafkaTopic.class), mock(KafkaStreamsFactory.class));
    executor.stopQuery(UUID.randomUUID());
}
Also used : CreateKafkaTopic(org.apache.rya.streams.kafka.interactor.CreateKafkaTopic) QueryExecutor(org.apache.rya.streams.querymanager.QueryExecutor) KafkaStreamsFactory(org.apache.rya.streams.kafka.KafkaStreamsFactory) Test(org.junit.Test)

Aggregations

KafkaStreamsFactory (org.apache.rya.streams.kafka.KafkaStreamsFactory)13 CreateKafkaTopic (org.apache.rya.streams.kafka.interactor.CreateKafkaTopic)13 QueryExecutor (org.apache.rya.streams.querymanager.QueryExecutor)13 Test (org.junit.Test)13 StreamsQuery (org.apache.rya.streams.api.entity.StreamsQuery)8 KafkaStreams (org.apache.kafka.streams.KafkaStreams)6 UUID (java.util.UUID)3 ArrayList (java.util.ArrayList)1 VisibilityBindingSet (org.apache.rya.api.model.VisibilityBindingSet)1 VisibilityStatement (org.apache.rya.api.model.VisibilityStatement)1 LoadStatements (org.apache.rya.streams.api.interactor.LoadStatements)1 SingleThreadKafkaStreamsFactory (org.apache.rya.streams.kafka.SingleThreadKafkaStreamsFactory)1 KafkaLoadStatements (org.apache.rya.streams.kafka.interactor.KafkaLoadStatements)1 ValueFactory (org.openrdf.model.ValueFactory)1 ValueFactoryImpl (org.openrdf.model.impl.ValueFactoryImpl)1 MapBindingSet (org.openrdf.query.impl.MapBindingSet)1