modelix / modelix.samples

The Unlicense
1 stars 3 forks source link

Thread blocked exception during UC 1b #58

Closed mhuster23 closed 1 year ago

mhuster23 commented 1 year ago

I am trying to start UC 1b on a MacBook Pro and I get this exception. UC 1a works just fine. I am on dfc03355e0608c5e1c9392c31fbf6119479d568c

io.vertx.core.VertxException: Thread blocked
        at io.quarkus.arc.impl.LazyValue.get(LazyValue.java:25)
        at io.quarkus.arc.impl.ComputingCache.computeIfAbsent(ComputingCache.java:69)
        at io.quarkus.arc.impl.AbstractSharedContext.get(AbstractSharedContext.java:34)
        at io.quarkus.arc.impl.ClientProxies.getApplicationScopedDelegate(ClientProxies.java:21)
        at org.modelix.model.client.ModelClientProducer_ProducerMethod_repo_02840ce94cc84a52048395137e4fdb7104f63002_ClientProxy.arc$delegate(Unknown Source)
        at org.modelix.model.client.ModelClientProducer_ProducerMethod_repo_02840ce94cc84a52048395137e4fdb7104f63002_ClientProxy.getBranch(Unknown Source)
        at org.modelix.sample.restapimodelserver.UpdateSocket.<init>(UpdateSocket.kt:28)
        at org.modelix.sample.restapimodelserver.UpdateSocket_Bean.create(Unknown Source)
        at org.modelix.sample.restapimodelserver.UpdateSocket_Bean.create(Unknown Source)
        at io.quarkus.arc.impl.AbstractSharedContext.createInstanceHandle(AbstractSharedContext.java:113)
        at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:37)
        at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:34)
        at io.quarkus.arc.impl.LazyValue.get(LazyValue.java:26)
        at io.quarkus.arc.impl.ComputingCache.computeIfAbsent(ComputingCache.java:69)
        at io.quarkus.arc.impl.AbstractSharedContext.get(AbstractSharedContext.java:34)
        at io.quarkus.arc.impl.ClientProxies.getApplicationScopedDelegate(ClientProxies.java:21)
        at org.modelix.sample.restapimodelserver.UpdateSocket_ClientProxy.arc$delegate(Unknown Source)
        at org.modelix.sample.restapimodelserver.UpdateSocket_ClientProxy.onOpen(Unknown Source)
        at java.base@11.0.17/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base@11.0.17/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base@11.0.17/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base@11.0.17/java.lang.reflect.Method.invoke(Method.java:566)
        at io.undertow.websockets.annotated.BoundMethod.invoke(BoundMethod.java:87)
        at io.undertow.websockets.annotated.AnnotatedEndpoint$3.run(AnnotatedEndpoint.java:156)
        at io.undertow.websockets.ServerWebSocketContainer$1.call(ServerWebSocketContainer.java:143)
        at io.undertow.websockets.ServerWebSocketContainer$1.call(ServerWebSocketContainer.java:140)
        at io.quarkus.websockets.client.runtime.WebsocketCoreRecorder$4$1.call(WebsocketCoreRecorder.java:181)
        at io.undertow.websockets.ServerWebSocketContainer.invokeEndpointMethod(ServerWebSocketContainer.java:532)
        at io.undertow.websockets.ServerWebSocketContainer.invokeEndpointMethod(ServerWebSocketContainer.java:521)
        at io.undertow.websockets.annotated.AnnotatedEndpoint.invokeMethod(AnnotatedEndpoint.java:151)
        at io.undertow.websockets.annotated.AnnotatedEndpoint.onOpen(AnnotatedEndpoint.java:101)
        at io.undertow.websockets.EndpointSessionHandler.connected(EndpointSessionHandler.java:119)
        at io.undertow.websockets.vertx.VertxWebSocketHandler$1.accept(VertxWebSocketHandler.java:120)
        at io.undertow.websockets.vertx.VertxWebSocketHandler$1.accept(VertxWebSocketHandler.java:117)
        at io.undertow.websockets.handshake.Handshake$1.accept(Handshake.java:147)
        at io.undertow.websockets.vertx.VertxWebSocketHttpExchange$1.handle(VertxWebSocketHttpExchange.java:129)
        at io.undertow.websockets.vertx.VertxWebSocketHttpExchange$1.handle(VertxWebSocketHttpExchange.java:121)
        at io.vertx.core.impl.future.FutureImpl$3.onSuccess(FutureImpl.java:141)
        at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60)
        at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211)
        at io.vertx.core.impl.future.PromiseImpl.tryComplete(PromiseImpl.java:23)
        at io.vertx.core.Promise.complete(Promise.java:66)
        at io.vertx.core.impl.future.PromiseImpl.operationComplete(PromiseImpl.java:65)
        at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:578)
        at io.netty.util.concurrent.DefaultPromise.notifyListeners0(DefaultPromise.java:571)
        at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:550)
        at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:491)
        at io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:616)
        at io.netty.util.concurrent.DefaultPromise.setSuccess0(DefaultPromise.java:605)
        at io.netty.util.concurrent.DefaultPromise.trySuccess(DefaultPromise.java:104)
        at io.netty.util.internal.PromiseNotificationUtil.trySuccess(PromiseNotificationUtil.java:48)
        at io.netty.channel.ChannelOutboundBuffer.safeSuccess(ChannelOutboundBuffer.java:717)
        at io.netty.channel.ChannelOutboundBuffer.remove(ChannelOutboundBuffer.java:272)
        at io.netty.channel.ChannelOutboundBuffer.removeBytes(ChannelOutboundBuffer.java:352)
        at io.netty.channel.socket.nio.NioSocketChannel.doWrite(NioSocketChannel.java:421)
        at io.netty.channel.AbstractChannel$AbstractUnsafe.flush0(AbstractChannel.java:931)
        at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.flush0(AbstractNioChannel.java:354)
        at io.netty.channel.AbstractChannel$AbstractUnsafe.flush(AbstractChannel.java:895)
        at io.netty.channel.DefaultChannelPipeline$HeadContext.flush(DefaultChannelPipeline.java:1372)
        at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:750)
        at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:742)
        at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:728)
        at io.netty.channel.ChannelDuplexHandler.flush(ChannelDuplexHandler.java:127)
        at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:750)
        at io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:765)
        at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:790)
        at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:758)
        at io.vertx.core.net.impl.ConnectionBase.write(ConnectionBase.java:179)
        at io.vertx.core.net.impl.ConnectionBase.writeToChannel(ConnectionBase.java:231)
        at io.vertx.core.net.impl.ConnectionBase.writeToChannel(ConnectionBase.java:216)
        at io.vertx.core.net.impl.ConnectionBase.writeToChannel(ConnectionBase.java:212)
        at io.vertx.core.http.impl.Http1xServerResponse.end(Http1xServerResponse.java:413)
        at io.vertx.core.http.impl.Http1xServerResponse.end(Http1xServerResponse.java:394)
        at io.vertx.core.http.impl.Http1xServerResponse.end(Http1xServerResponse.java:462)
        at io.undertow.websockets.vertx.VertxWebSocketHttpExchange.upgradeChannel(VertxWebSocketHttpExchange.java:121)
        at io.undertow.websockets.handshake.Handshake.handshake(Handshake.java:124)
        at io.undertow.websockets.vertx.VertxWebSocketHandler.handle(VertxWebSocketHandler.java:117)
        at io.undertow.websockets.vertx.VertxWebSocketHandler.handle(VertxWebSocketHandler.java:54)
        at io.vertx.ext.web.impl.RouteState.handleContext(RouteState.java:1284)
        at io.vertx.ext.web.impl.RoutingContextImplBase.iterateNext(RoutingContextImplBase.java:173)
        at io.vertx.ext.web.impl.RoutingContextImpl.next(RoutingContextImpl.java:140)
        at io.quarkus.resteasy.reactive.server.runtime.ResteasyReactiveRecorder$12.handle(ResteasyReactiveRecorder.java:328)
        at io.quarkus.resteasy.reactive.server.runtime.ResteasyReactiveRecorder$12.handle(ResteasyReactiveRecorder.java:321)
        at io.vertx.ext.web.impl.RouteState.handleContext(RouteState.java:1284)
        at io.vertx.ext.web.impl.RoutingContextImplBase.iterateNext(RoutingContextImplBase.java:173)
        at io.vertx.ext.web.impl.RoutingContextImpl.next(RoutingContextImpl.java:140)
        at io.quarkus.vertx.http.runtime.cors.CORSFilter.handle(CORSFilter.java:205)
        at io.quarkus.vertx.http.runtime.cors.CORSFilter.handle(CORSFilter.java:17)
        at io.vertx.ext.web.impl.RouteState.handleContext(RouteState.java:1284)
        at io.vertx.ext.web.impl.RoutingContextImplBase.iterateNext(RoutingContextImplBase.java:173)
        at io.vertx.ext.web.impl.RoutingContextImpl.next(RoutingContextImpl.java:140)
        at io.quarkus.vertx.http.runtime.devmode.VertxHttpHotReplacementSetup$5.handle(VertxHttpHotReplacementSetup.java:196)
        at io.quarkus.vertx.http.runtime.devmode.VertxHttpHotReplacementSetup$5.handle(VertxHttpHotReplacementSetup.java:185)
        at io.vertx.core.impl.future.FutureImpl$3.onSuccess(FutureImpl.java:141)
        at io.vertx.core.impl.future.FutureBase.lambda$emitSuccess$0(FutureBase.java:54)
        at io.vertx.core.impl.future.FutureBase$$Lambda$995/0x0000000800700840.run(Unknown Source)
        at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174)
        at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167)
        at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470)
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569)
        at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
        at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
        at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
        at java.base@11.0.17/java.lang.Thread.run(Thread.java:829)

     2023-01-24 13:56:40,484 ERROR [io.qua.ver.htt.run.QuarkusErrorHandler] (executor-thread-0) HTTP Request to /rooms failed, error id: b7a43b8a-607b-4e20-bf2a-861f20b3ed75-1: java.lang.RuntimeException: Unable to connect to 'http://0.0.0.0:28101/get/branch_courses_master' to get key branch_courses_masterel-server:quarkusDev
        at org.modelix.model.client.RestWebModelClient.getA(RestWebModelClient.kt:364)
        at org.modelix.model.client.RestWebModelClient$getA$1.invokeSuspend(RestWebModelClient.kt)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:141)
        at io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:14)
        at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:58)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
        at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:141)
        at io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:14)
        at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:58)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
        at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:141)
        at io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:14)
        at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:58)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
        at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:141)
        at io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:14)
        at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:58)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
        at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:141)
        at io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:14)
        at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:58)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
        at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:284)
        at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:85)
        at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:59)
        at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source)
        at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:38)
        at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source)
        at org.modelix.model.client.RestWebModelClient.get(RestWebModelClient.kt:331)
        at org.modelix.model.client.ModelClientProducer_ProducerMethod_modelClient_3cbf7a399a686ec742211228233288b0b9dc9437_ClientProxy.get(Unknown Source)
        at org.modelix.model.client.ReplicatedRepository.<init>(ReplicatedRepository.kt:248)
        at org.modelix.model.client.ReplicatedRepository.<init>(ReplicatedRepository.kt:56)
        at org.modelix.sample.restapimodelserver.ModelClientProducer.repo(ModelClientProducer.kt:19)
        at org.modelix.sample.restapimodelserver.ModelClientProducer_ProducerMethod_repo_02840ce94cc84a52048395137e4fdb7104f63002_Bean.create(Unknown Source)
        at org.modelix.sample.restapimodelserver.ModelClientProducer_ProducerMethod_repo_02840ce94cc84a52048395137e4fdb7104f63002_Bean.create(Unknown Source)
        at io.quarkus.arc.impl.AbstractSharedContext.createInstanceHandle(AbstractSharedContext.java:113)
        at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:37)
        at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:34)
        at io.quarkus.arc.impl.LazyValue.get(LazyValue.java:26)
        at io.quarkus.arc.impl.ComputingCache.computeIfAbsent(ComputingCache.java:69)
        at io.quarkus.arc.impl.AbstractSharedContext.get(AbstractSharedContext.java:34)
        at io.quarkus.arc.impl.ClientProxies.getApplicationScopedDelegate(ClientProxies.java:21)
        at org.modelix.model.client.ModelClientProducer_ProducerMethod_repo_02840ce94cc84a52048395137e4fdb7104f63002_ClientProxy.arc$delegate(Unknown Source)
        at org.modelix.model.client.ModelClientProducer_ProducerMethod_repo_02840ce94cc84a52048395137e4fdb7104f63002_ClientProxy.getBranch(Unknown Source)
        at org.modelix.sample.restapimodelserver.Api.executeRead(Api.kt:25)
        at org.modelix.sample.restapimodelserver.Api.listRooms(Api.kt:68)
        at org.modelix.sample.restapimodelserver.DefaultApi$quarkusrestinvoker$listRooms_d48e11b5b528689c742dcc861f36576c751ef2d5.invoke(Unknown Source)
        at org.jboss.resteasy.reactive.server.handlers.InvocationHandler.handle(InvocationHandler.java:29)
        at io.quarkus.resteasy.reactive.server.runtime.QuarkusResteasyReactiveRequestContext.invokeHandler(QuarkusResteasyReactiveRequestContext.java:114)
        at org.jboss.resteasy.reactive.common.core.AbstractResteasyReactiveContext.run(AbstractResteasyReactiveContext.java:145)
        at io.quarkus.vertx.core.runtime.VertxCoreRecorder$14.runWith(VertxCoreRecorder.java:564)
        at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2449)
        at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1478)
        at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:29)
        at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:29)
        at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
        at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.net.SocketException: Host is down
        at java.base/sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
        at java.base/sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:777)
        at io.ktor.network.sockets.SocketImpl.connect$ktor_network(SocketImpl.kt:50)
        at io.ktor.network.sockets.SocketImpl$connect$1.invokeSuspend(SocketImpl.kt)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
        at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:42)
        at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
        at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)

2023-01-24 13:56:40,490 ERROR [org.jbo.res.rea.com.cor.AbstractResteasyReactiveContext] (executor-thread-0) Request failed: java.lang.RuntimeException: Unable to connect to 'http://0.0.0.0:28101/get/branch_courses_master' to get key branch_courses_master
        at org.modelix.model.client.RestWebModelClient.getA(RestWebModelClient.kt:364)
        at org.modelix.model.client.RestWebModelClient$getA$1.invokeSuspend(RestWebModelClient.kt)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:141)
        at io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:14)
        at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:58)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
        at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:141)
        at io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:14)
        at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:58)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
        at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:141)
        at io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:14)
        at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:58)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
        at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:141)
        at io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:14)
        at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:58)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
        at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:141)
        at io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:14)
        at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:58)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
        at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:284)
        at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:85)
        at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:59)
        at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source)
        at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:38)
        at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source)
        at org.modelix.model.client.RestWebModelClient.get(RestWebModelClient.kt:331)
        at org.modelix.model.client.ModelClientProducer_ProducerMethod_modelClient_3cbf7a399a686ec742211228233288b0b9dc9437_ClientProxy.get(Unknown Source)
        at org.modelix.model.client.ReplicatedRepository.<init>(ReplicatedRepository.kt:248)
        at org.modelix.model.client.ReplicatedRepository.<init>(ReplicatedRepository.kt:56)
        at org.modelix.sample.restapimodelserver.ModelClientProducer.repo(ModelClientProducer.kt:19)
        at org.modelix.sample.restapimodelserver.ModelClientProducer_ProducerMethod_repo_02840ce94cc84a52048395137e4fdb7104f63002_Bean.create(Unknown Source)
        at org.modelix.sample.restapimodelserver.ModelClientProducer_ProducerMethod_repo_02840ce94cc84a52048395137e4fdb7104f63002_Bean.create(Unknown Source)
        at io.quarkus.arc.impl.AbstractSharedContext.createInstanceHandle(AbstractSharedContext.java:113)
        at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:37)
        at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:34)
        at io.quarkus.arc.impl.LazyValue.get(LazyValue.java:26)
        at io.quarkus.arc.impl.ComputingCache.computeIfAbsent(ComputingCache.java:69)
        at io.quarkus.arc.impl.AbstractSharedContext.get(AbstractSharedContext.java:34)
        at io.quarkus.arc.impl.ClientProxies.getApplicationScopedDelegate(ClientProxies.java:21)
        at org.modelix.model.client.ModelClientProducer_ProducerMethod_repo_02840ce94cc84a52048395137e4fdb7104f63002_ClientProxy.arc$delegate(Unknown Source)
        at org.modelix.model.client.ModelClientProducer_ProducerMethod_repo_02840ce94cc84a52048395137e4fdb7104f63002_ClientProxy.getBranch(Unknown Source)
        at org.modelix.sample.restapimodelserver.Api.executeRead(Api.kt:25)
        at org.modelix.sample.restapimodelserver.Api.listRooms(Api.kt:68)
        at org.modelix.sample.restapimodelserver.DefaultApi$quarkusrestinvoker$listRooms_d48e11b5b528689c742dcc861f36576c751ef2d5.invoke(Unknown Source)
        at org.jboss.resteasy.reactive.server.handlers.InvocationHandler.handle(InvocationHandler.java:29)
        at io.quarkus.resteasy.reactive.server.runtime.QuarkusResteasyReactiveRequestContext.invokeHandler(QuarkusResteasyReactiveRequestContext.java:114)
        at org.jboss.resteasy.reactive.common.core.AbstractResteasyReactiveContext.run(AbstractResteasyReactiveContext.java:145)
        at io.quarkus.vertx.core.runtime.VertxCoreRecorder$14.runWith(VertxCoreRecorder.java:564)
        at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2449)
        at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1478)
        at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:29)
        at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:29)
        at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
        at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.net.SocketException: Host is down
        at java.base/sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
        at java.base/sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:777)
        at io.ktor.network.sockets.SocketImpl.connect$ktor_network(SocketImpl.kt:50)
        at io.ktor.network.sockets.SocketImpl$connect$1.invokeSuspend(SocketImpl.kt)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
        at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:42)
        at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
        at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
languitar commented 1 year ago

Unable to connect to 'http://0.0.0.0:28101/get/branch_courses_master' to get key branch_courses_masterel-server:quarkusDev

That looks suspicious. Is that quarkusDev there an artifact of multiple threads mixing up on the terminal or is that reliable?

How did you start the quarkus application?

mhuster23 commented 1 year ago

I tried running quarkus in a separate terminal application. Same result, so it should be reliable.

I started it via ./gradlew rest-api-model-server:quarkusDev as documented in the README.

languitar commented 1 year ago

Alright, and the exception is the same including the quarkusDev string mixed up after URL?

So what seems to happen here is that the model client in the Quarkus application cannot access the http server opened by the model-server. Can you try to curl the URL from the exception and see if something is actually listening on that port?

mhuster23 commented 1 year ago

No, the URL is fine now. When I curl the URL http://0.0.0.0:28101/get/branch_courses_master I get the response jcHxH*X3ykCpzxeko_GjzYUF4psg4TIztl7TFRy9FzIk.

languitar commented 1 year ago

Strange. Just for the sake of testing that: can you reconfigure Quarkus to explicitly use 127.0.0.1 instead of 0.0.0.0 as the IP address to connect to? Might be that you are ending up in IPv6 but the model-server is listening on IPv4 only or something like that. Specifying -Dmodelix.client.serverUri=http://127.0.0.1:28101 should do the trick.

mhuster23 commented 1 year ago

Launching with that argument gave me a ConfigurationValidationException. I changed the default value here instead and that made it work. Thanks!

nkoester commented 1 year ago

It could be good to change this permanently, @mhuster23 can you PR this change please?

languitar commented 1 year ago

I missed the name mapping strategy that Quarkus applies. Does the command line flag work with -Dmodelix.client.server-uri=http://127.0.0.1:28101? The default mapping strategy is to make kebap-case from CamelCase names in confoguration objects.

mhuster23 commented 1 year ago

The command line flag works as well. Should I still create a PR for changing the default value?

languitar commented 1 year ago

The command line flag works as well. Should I still create a PR for changing the default value?

Probably yes. Even if we configure the model server to also listen on IPv6, being explicit is probably safer here.