Search in sources :

Example 1 with StreamsTaskMetadata

use of io.confluent.ksql.rest.entity.StreamsTaskMetadata in project ksql by confluentinc.

the class ConsoleTest method shouldPrintExplainQueryWithError.

@Test
public void shouldPrintExplainQueryWithError() {
    final long timestamp = 1596644936314L;
    // Given:
    final QueryDescriptionEntity queryEntity = new QueryDescriptionEntity("statement", new QueryDescription(new QueryId("id"), "statement", Optional.empty(), ImmutableList.of(new FieldInfo("name", new SchemaInfo(SqlBaseType.STRING, ImmutableList.of(), null), Optional.empty())), ImmutableSet.of("source"), ImmutableSet.of("sink"), "topology", "executionPlan", ImmutableMap.of("overridden.prop", 42), ImmutableMap.of(new KsqlHostInfoEntity("foo", 123), KsqlQueryStatus.ERROR), KsqlQueryType.PERSISTENT, ImmutableList.of(new QueryError(timestamp, "error", Type.SYSTEM)), ImmutableSet.of(new StreamsTaskMetadata("test", Collections.emptySet(), Optional.empty())), "consumerGroupId"));
    final KsqlEntityList entityList = new KsqlEntityList(ImmutableList.of(queryEntity));
    // When:
    console.printKsqlEntityList(entityList);
    // Then:
    final String output = terminal.getOutputString();
    Approvals.verify(output, approvalOptions);
}
Also used : KsqlEntityList(io.confluent.ksql.rest.entity.KsqlEntityList) QueryDescriptionEntity(io.confluent.ksql.rest.entity.QueryDescriptionEntity) QueryId(io.confluent.ksql.query.QueryId) KsqlHostInfoEntity(io.confluent.ksql.rest.entity.KsqlHostInfoEntity) QueryDescription(io.confluent.ksql.rest.entity.QueryDescription) Matchers.containsString(org.hamcrest.Matchers.containsString) QueryError(io.confluent.ksql.query.QueryError) FieldInfo(io.confluent.ksql.rest.entity.FieldInfo) StreamsTaskMetadata(io.confluent.ksql.rest.entity.StreamsTaskMetadata) SchemaInfo(io.confluent.ksql.rest.entity.SchemaInfo) Test(org.junit.Test)

Example 2 with StreamsTaskMetadata

use of io.confluent.ksql.rest.entity.StreamsTaskMetadata in project ksql by confluentinc.

the class ListQueriesExecutorTest method shouldScatterGatherAndMergeShowQueriesExtended.

@Test
public void shouldScatterGatherAndMergeShowQueriesExtended() {
    // Given
    when(sessionProperties.getInternalRequest()).thenReturn(false);
    final ConfiguredStatement<ListQueries> showQueries = (ConfiguredStatement<ListQueries>) engine.configure("SHOW QUERIES EXTENDED;");
    final StreamsTaskMetadata localTaskMetadata = mock(StreamsTaskMetadata.class);
    final StreamsTaskMetadata remoteTaskMetadata = mock(StreamsTaskMetadata.class);
    final PersistentQueryMetadata localMetadata = givenPersistentQuery("id", RUNNING_QUERY_STATE, Collections.singleton(localTaskMetadata));
    final PersistentQueryMetadata remoteMetadata = givenPersistentQuery("id", ERROR_QUERY_STATE, Collections.singleton(remoteTaskMetadata));
    final KsqlEngine engine = mock(KsqlEngine.class);
    when(engine.getAllLiveQueries()).thenReturn(ImmutableList.of(localMetadata));
    when(engine.getPersistentQueries()).thenReturn(ImmutableList.of(localMetadata));
    final List<QueryDescription> remoteQueryDescriptions = Collections.singletonList(QueryDescriptionFactory.forQueryMetadata(remoteMetadata, Collections.singletonMap(REMOTE_KSQL_HOST_INFO_ENTITY, KsqlQueryStatus.ERROR)));
    when(remoteQueryDescriptionList.getQueryDescriptions()).thenReturn(remoteQueryDescriptions);
    when(ksqlEntityList.get(anyInt())).thenReturn(remoteQueryDescriptionList);
    when(response.getResponse()).thenReturn(ksqlEntityList);
    final Map<KsqlHostInfoEntity, KsqlQueryStatus> mergedMap = new HashMap<>();
    mergedMap.put(REMOTE_KSQL_HOST_INFO_ENTITY, KsqlQueryStatus.ERROR);
    mergedMap.put(LOCAL_KSQL_HOST_INFO_ENTITY, KsqlQueryStatus.RUNNING);
    // When
    final QueryDescriptionList queries = (QueryDescriptionList) CUSTOM_EXECUTORS.listQueries().execute(showQueries, sessionProperties, engine, serviceContext).getEntity().orElseThrow(IllegalStateException::new);
    // Then
    final QueryDescription mergedQueryDescription = QueryDescriptionFactory.forQueryMetadata(localMetadata, mergedMap);
    mergedQueryDescription.updateTaskMetadata(Collections.singleton(remoteTaskMetadata));
    assertThat(queries.getQueryDescriptions(), containsInAnyOrder(mergedQueryDescription));
}
Also used : KsqlEngine(io.confluent.ksql.engine.KsqlEngine) HashMap(java.util.HashMap) ListQueries(io.confluent.ksql.parser.tree.ListQueries) QueryDescription(io.confluent.ksql.rest.entity.QueryDescription) StreamsTaskMetadata(io.confluent.ksql.rest.entity.StreamsTaskMetadata) ConfiguredStatement(io.confluent.ksql.statement.ConfiguredStatement) QueryDescriptionList(io.confluent.ksql.rest.entity.QueryDescriptionList) KsqlHostInfoEntity(io.confluent.ksql.rest.entity.KsqlHostInfoEntity) PersistentQueryMetadata(io.confluent.ksql.util.PersistentQueryMetadata) KsqlQueryStatus(io.confluent.ksql.util.KsqlConstants.KsqlQueryStatus) Test(org.junit.Test)

Aggregations

KsqlHostInfoEntity (io.confluent.ksql.rest.entity.KsqlHostInfoEntity)2 QueryDescription (io.confluent.ksql.rest.entity.QueryDescription)2 StreamsTaskMetadata (io.confluent.ksql.rest.entity.StreamsTaskMetadata)2 Test (org.junit.Test)2 KsqlEngine (io.confluent.ksql.engine.KsqlEngine)1 ListQueries (io.confluent.ksql.parser.tree.ListQueries)1 QueryError (io.confluent.ksql.query.QueryError)1 QueryId (io.confluent.ksql.query.QueryId)1 FieldInfo (io.confluent.ksql.rest.entity.FieldInfo)1 KsqlEntityList (io.confluent.ksql.rest.entity.KsqlEntityList)1 QueryDescriptionEntity (io.confluent.ksql.rest.entity.QueryDescriptionEntity)1 QueryDescriptionList (io.confluent.ksql.rest.entity.QueryDescriptionList)1 SchemaInfo (io.confluent.ksql.rest.entity.SchemaInfo)1 ConfiguredStatement (io.confluent.ksql.statement.ConfiguredStatement)1 KsqlQueryStatus (io.confluent.ksql.util.KsqlConstants.KsqlQueryStatus)1 PersistentQueryMetadata (io.confluent.ksql.util.PersistentQueryMetadata)1 HashMap (java.util.HashMap)1 Matchers.containsString (org.hamcrest.Matchers.containsString)1