You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
We are using the java client to interact with ksqldb clusters. but the client is unable to execute EXPLAIN statements, which is useful to look at output schemas and execution plan of queries.
Describe the solution you'd like
The Java client should add support for QueryDescription entities which contains the bulk of the response for this statement.
Describe alternatives you've considered
Would be nice to have a "low level" method that returns the raw response for any generic ksqldb statement. This way, users don't have to wait for changes in java client to unblock them.
Additional context
Error message when trying to run explain statements:
java.util.concurrent.ExecutionException: io.confluent.ksql.api.client.exception.KsqlClientException: The executeStatement() method is only for 'CREATE', 'CREATE ... AS SELECT', 'DROP', 'TERMINATE', and 'INSERT INTO ... AS SELECT' statements. The client does not currently support 'EXPLAIN <QUERY_ID>' statements.
at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:395)
at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1999)
Caused by: io.confluent.ksql.api.client.exception.KsqlClientException: The executeStatement() method is only for 'CREATE', 'CREATE ... AS SELECT', 'DROP', 'TERMINATE', and 'INSERT INTO ... AS SELECT' statements. The client does not currently support 'EXPLAIN <QUERY_ID>' statements.
at io.confluent.ksql.api.client.impl.DdlDmlResponseHandlers.handleUnexpectedEntity(DdlDmlResponseHandlers.java:97)
at io.confluent.ksql.api.client.impl.DdlDmlResponseHandlers.handleExecuteStatementResponse(DdlDmlResponseHandlers.java:41)
at io.confluent.ksql.api.client.impl.ClientImpl.lambda$handleSingleEntityResponse$22(ClientImpl.java:579)
at io.vertx.core.http.impl.HttpClientResponseImpl$BodyHandler.notifyHandler(HttpClientResponseImpl.java:292)
The text was updated successfully, but these errors were encountered:
…he ksqldb-api-client (#8118)
* Add classes for low level HTTP calls
This PR adds methods and classes that allow users to directly execute HTTP requests against ksqldb's REST server. The API client today uses a number of "high level" classes. With an 'escape hatch' as implemented in this PR, users do not need to wait for all the REST APIs, request and response objects to be implemented as java objects and classes in the api-client.
This PR resolves one of the issues described in #8042.
Signed-off-by: Arjun Satish <[email protected]>
Is your feature request related to a problem? Please describe.
We are using the java client to interact with ksqldb clusters. but the client is unable to execute EXPLAIN statements, which is useful to look at output schemas and execution plan of queries.
Describe the solution you'd like
The Java client should add support for QueryDescription entities which contains the bulk of the response for this statement.
Describe alternatives you've considered
Would be nice to have a "low level" method that returns the raw response for any generic ksqldb statement. This way, users don't have to wait for changes in java client to unblock them.
Additional context
Error message when trying to run explain statements:
The text was updated successfully, but these errors were encountered: