Hi, we are literally stuck with our 3 ksqldb servers (0.15 docker images) after a failed DROP STREAM via a CI/CD pipeline. The associated INSERTQUERY should have been terminated but that failed due to a timeout. Then unfortunatly the DROP STREAM has been attempted in the script and of course failed. Since that the server is kind of stuck and not responding to REST API calls. Restarting the containers did not help, maybe that itself only helped to trash all the containers and not only one. Currently all three are only responding with "KSQL is not yet ready to serve requests". How do we get out of this situation when the KSQL REST API is not accessible via CLI and curl. How do we terminate the INSERTQUERY for good? The logs show repeatedly: ERROR Stack trace: io.confluent.ksql.util.KsqlStatementException: Cannot drop <STREAMNAME>.
The following queries read from this source: [INSERTQUERY_1761].
The following queries write into this source: [].
You need to terminate them before dropping <STREAMNAME>.
Statement: drop stream
<STREAMNAME> ;
at io.confluent.ksql.engine.EngineExecutor.executeDdl(EngineExecutor.java:466)
at io.confluent.ksql.engine.EngineExecutor.lambda$execute$0(EngineExecutor.java:113)
at java.base/java.util.Optional.map(Optional.java:265)
at io.confluent.ksql.engine.EngineExecutor.execute(EngineExecutor.java:113)
at io.confluent.ksql.engine.KsqlEngine.execute(KsqlEngine.java:217)
at io.confluent.ksql.rest.server.computation.InteractiveStatementExecutor.executePlan(InteractiveStatementExecutor.java:243)
at io.confluent.ksql.rest.server.computation.InteractiveStatementExecutor.handleStatementWithTerminatedQueries(InteractiveStatementExecutor.java:198)
at io.confluent.ksql.rest.server.computation.InteractiveStatementExecutor.handleRestore(InteractiveStatementExecutor.java:135)
at io.confluent.ksql.rest.server.computation.CommandRunner.lambda$null$3(CommandRunner.java:276)
at io.confluent.ksql.util.RetryUtil.retryWithBackoff(RetryUtil.java:89)
at io.confluent.ksql.util.RetryUtil.retryWithBackoff(RetryUtil.java:60)
at io.confluent.ksql.util.RetryUtil.retryWithBackoff(RetryUtil.java:41)
at io.confluent.ksql.rest.server.computation.CommandRunner.lambda$processPriorCommands$4(CommandRunner.java:272)
at java.base/java.lang.Iterable.forEach(Iterable.java:75)
at io.confluent.ksql.rest.server.computation.CommandRunner.processPriorCommands(CommandRunner.java:269)
at io.confluent.ksql.rest.server.KsqlRestApplication.initialize(KsqlRestApplication.java:459)
at io.confluent.ksql.rest.server.KsqlRestApplication.startKsql(KsqlRestApplication.java:385)
at io.confluent.ksql.rest.server.KsqlRestApplication.startAsync(KsqlRestApplication.java:367)
at io.confluent.ksql.rest.server.KsqlServerMain.tryStartApp(KsqlServerMain.java:89)
at io.confluent.ksql.rest.server.KsqlServerMain.main(KsqlServerMain.java:64)
Caused by: io.confluent.ksql.util.KsqlReferentialIntegrityException: Cannot drop <STREAMNAME>.
The following queries read from this source: [INSERTQUERY_1761].
The following queries write into this source: [].
You need to terminate them before dropping <STREAMNAME>.
at io.confluent.ksql.engine.EngineContext.throwIfInsertQueriesExist(EngineContext.java:307)
at io.confluent.ksql.engine.EngineContext.executeDdl(EngineContext.java:266)
at io.confluent.ksql.engine.EngineExecutor.executeDdl(EngineExecutor.java:462)
... 19 more
Cheers, Daniel