When a timeout occurs, because another Knowledge Base does not respond within 10s (default timeout value for KB responses) to a POST KI, the knowledge engine will not deal with this error correctly. Errors like the ones below are thrown and the Post KI hangs indefinitely.
sensor2-ker-1 | 2025-02-18 08:31:53:177 +0000 [qtp1288354730-22] INFO SmartConnectorImpl-sensor2-kb - Planning post for KI <http://example.org/sensor2-kb/interaction/0d11f7a6-0557-4736-8ec4-00b393b6c7da>.
sensor2-ker-1 | 2025-02-18 08:32:03:267 +0000 [CompletableFutureDelayScheduler] WARN ReasonerProcessor - Error 'TimeoutException' occurred while waiting for response to message: efda5d65-22b1-4012-81c9-7cc98b679fbc
sensor2-ker-1 | 2025-02-18 08:32:03:268 +0000 [CompletableFutureDelayScheduler] ERROR ReasonerProcessor - Executing (scheduled) tasks for the reasoner should not result in errors.
sensor2-ker-1 | java.util.concurrent.CompletionException: java.lang.ClassCastException: class eu.knowledge.engine.smartconnector.messaging.AnswerMessage cannot be cast to class eu.knowledge.engine.smartconnector.messaging.ReactMessage (eu.knowledge.engine.smartconnector.messaging.AnswerMessage and eu.knowledge.engine.smartconnector.messaging.ReactMessage are in unnamed module of loader 'app')
sensor2-ker-1 | at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315)
sensor2-ker-1 | at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320)
sensor2-ker-1 | at java.base/java.util.concurrent.CompletableFuture.uniExceptionally(CompletableFuture.java:994)
sensor2-ker-1 | at java.base/java.util.concurrent.CompletableFuture$UniExceptionally.tryFire(CompletableFuture.java:974)
sensor2-ker-1 | at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
sensor2-ker-1 | at java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2194)
sensor2-ker-1 | at java.base/java.util.concurrent.CompletableFuture$Timeout.run(CompletableFuture.java:2920)
sensor2-ker-1 | at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
sensor2-ker-1 | at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
sensor2-ker-1 | at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
sensor2-ker-1 | at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
sensor2-ker-1 | at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
sensor2-ker-1 | at java.base/java.lang.Thread.run(Thread.java:1583)
sensor2-ker-1 | Caused by: java.lang.ClassCastException: class eu.knowledge.engine.smartconnector.messaging.AnswerMessage cannot be cast to class eu.knowledge.engine.smartconnector.messaging.ReactMessage (eu.knowledge.engine
sensor2-ker-1 | at eu.knowledge.engine.smartconnector.impl.ReasonerProcessor$ReactBindingSetHandler.lambda$handle$0(ReasonerProcessor.java:547)
sensor2-ker-1 | at java.base/java.util.concurrent.CompletableFuture.uniExceptionally(CompletableFuture.java:990)
sensor2-ker-1 | ... 10 more
sensor2-ker-1 | 2025-02-18 08:32:03:269 +0000 [CompletableFutureDelayScheduler] ERROR MessageRouterImpl-sensor2-kb - KB 'http://example.org/converter-kb' did not respond within 10s to PostMessage 'efda5d65-22b1-4012-81c9-7cc98b679fbc'. da5d65-22b1-4012-81c9-7ccsensor2-ker-1 | java.util.concurrent.TimeoutException
sensor2-ker-1 | at java.base/java.util.concurrent.CompletableFuture$Timeout.run(CompletableFuture.java:2920)
sensor2-ker-1 | at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
sensor2-ker-1 | at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
sensor2-ker-1 | at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
sensor2-ker-1 | at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
sensor2-ker-1 | at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
sensor2-ker-1 | at java.base/java.lang.Thread.run(Thread.java:1583)
When a timeout occurs, because another Knowledge Base does not respond within 10s (default timeout value for KB responses) to a POST KI, the knowledge engine will not deal with this error correctly. Errors like the ones below are thrown and the Post KI hangs indefinitely.