Closed AuroraLove closed 4 months ago
I call getContext().getBean(RpcService.class) in the authenticate method, and it prompts. No qualifying bean of type 'im.turms.server.common.infra.cluster.service .rpc.RpcService' available
Please ensure you call getContext().getBean(Node.class).getRpcService()
in your extension's start()
.
If you already called the method in start()
, please post the log file so that I can pinpoint the problem accurately.
because "this.mongoClient" is null.
turms-gateway will not populate mongoClient
of UserRepository
if turms-gateway itself doesn't use it to avoid unnecessary resource consumption, and that's why you get an NPE. (you can check the code for details: im.turms.gateway.storage.mongo.MongoConfig#userMongoClient
)
If you want to use the password
for authentication, you can use the turms-gateway default implementation as it implements authentication based on the user password.
If not, what's your business requirements that you need to use UserRepository
, if it's reasonable, I may add a property like ...always-enable-user-mongo-client
so that you can always use UserRepository
.
The following is the code I use RpcService in the plugin. I get an error when I deploy it.
@Override
protected Mono
suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException:
Assembly trace from producer [reactor.core.publisher.MonoError] : reactor.core.publisher.Mono.error(Mono.java:299) im.turms.server.common.infra.plugin.PluginManager.lambda$startPlugins$10(PluginManager.java:560) Error has been observed at the following site(s): __Mono.error ⇢ at im.turms.server.common.infra.plugin.PluginManager.lambda$startPlugins$10(PluginManager.java:560) Mono.onErrorResume ⇢ at im.turms.server.common.infra.plugin.PluginManager.startPlugins(PluginManager.java:559) ____Mono.thenReturn ⇢ at im.turms.server.common.infra.plugin.PluginManager.startPlugins(PluginManager.java:561) | Mono.map ⇢ at im.turms.server.common.access.admin.dto.response.HttpHandlerResult.updateResultByIntegerMono(HttpHandlerResult.java:148) | Mono.map ⇢ at im.turms.server.common.access.admin.dto.response.HttpHandlerResult.okIfTruthy(HttpHandlerResult.java:187) | Mono.switchIfEmpty ⇢ at im.turms.server.common.access.admin.dto.response.HttpHandlerResult.okIfTruthy(HttpHandlerResult.java:189) |_ Mono.map ⇢ at im.turms.server.common.access.admin.web.HttpRequestDispatcher.invokeHandler(HttpRequestDispatcher.java:468) ____Mono.flatMap ⇢ at im.turms.server.common.access.admin.web.HttpRequestDispatcher.lambda$handleRequest$12(HttpRequestDispatcher.java:411) __Mono.defer ⇢ at im.turms.server.common.access.admin.web.HttpRequestDispatcher.lambda$handleRequest$14(HttpRequestDispatcher.java:392) |_ Mono.doFinally ⇢ at im.turms.server.common.access.admin.web.HttpRequestDispatcher.lambda$handleRequest$14(HttpRequestDispatcher.java:417) __Mono.flatMap ⇢ at im.turms.server.common.access.admin.web.HttpRequestDispatcher.handleRequest(HttpRequestDispatcher.java:392) |_ Mono.doOnEach ⇢ at im.turms.server.common.access.admin.web.HttpRequestDispatcher.handle(HttpRequestDispatcher.java:315) Original Stack Trace: at im.turms.server.common.infra.plugin.PluginManager.lambda$startPlugins$10(PluginManager.java:559) at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:94) at reactor.core.publisher.MonoWhen$WhenCoordinator.signal(MonoWhen.java:210) at reactor.core.publisher.MonoWhen$WhenInner.onError(MonoWhen.java:412) at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onError(MonoPeekTerminal.java:258) at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:106) at reactor.core.publisher.Operators.error(Operators.java:198) at reactor.core.publisher.MonoError.subscribe(MonoError.java:53) at reactor.core.publisher.Mono.subscribe(Mono.java:4568) at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:103) at reactor.core.publisher.MonoWhen$WhenCoordinator.signal(MonoWhen.java:210) at reactor.core.publisher.MonoWhen$WhenInner.onError(MonoWhen.java:412) at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:106) at reactor.core.publisher.Operators.error(Operators.java:198) at reactor.core.publisher.MonoError.subscribe(MonoError.java:53) at reactor.core.publisher.Mono.subscribe(Mono.java:4568) at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:103) at reactor.core.publisher.FluxDoFinally$DoFinallySubscriber.onError(FluxDoFinally.java:119) at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onError(MonoPeekTerminal.java:258) at reactor.core.publisher.Operators.error(Operators.java:198) at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:49) at reactor.core.publisher.Mono.subscribe(Mono.java:4568) at reactor.core.publisher.MonoWhen$WhenCoordinator.request(MonoWhen.java:229) at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.set(Operators.java:2367) at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onSubscribe(FluxOnErrorResume.java:74) at reactor.core.publisher.MonoWhen.subscribe(MonoWhen.java:101) at reactor.core.publisher.Mono.subscribe(Mono.java:4568) at reactor.core.publisher.MonoWhen$WhenCoordinator.request(MonoWhen.java:229) at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.set(Operators.java:2367) at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onSubscribe(FluxOnErrorResume.java:74) at reactor.core.publisher.MonoWhen.subscribe(MonoWhen.java:101) at reactor.core.publisher.Mono.subscribe(Mono.java:4568) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:265) at reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:51) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:165) at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:158) at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(FluxSwitchIfEmpty.java:74) at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondComplete(MonoFlatMap.java:245) at reactor.core.publisher.MonoFlatMap$FlatMapInner.onNext(MonoFlatMap.java:305) at reactor.core.publisher.FluxDefaultIfEmpty$DefaultIfEmptySubscriber.onNext(FluxDefaultIfEmpty.java:122) at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:122) at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2571) at reactor.core.publisher.FluxMap$MapSubscriber.request(FluxMap.java:164) at reactor.core.publisher.FluxDefaultIfEmpty$DefaultIfEmptySubscriber.request(FluxDefaultIfEmpty.java:98) at reactor.core.publisher.MonoFlatMap$FlatMapInner.onSubscribe(MonoFlatMap.java:291) at reactor.core.publisher.Operators$BaseFluxToMonoOperator.onSubscribe(Operators.java:2051) at reactor.core.publisher.FluxMap$MapSubscriber.onSubscribe(FluxMap.java:92) at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:55) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:165) at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:122) at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2571) at reactor.core.publisher.FluxMap$MapSubscriber.request(FluxMap.java:164) at reactor.core.publisher.MonoFlatMap$FlatMapMain.request(MonoFlatMap.java:194) at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.set(Operators.java:2367) at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onSubscribe(Operators.java:2241) at reactor.core.publisher.MonoFlatMap$FlatMapMain.onSubscribe(MonoFlatMap.java:117) at reactor.core.publisher.FluxMap$MapSubscriber.onSubscribe(FluxMap.java:92) at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:55) at reactor.core.publisher.Mono.subscribe(Mono.java:4568) at reactor.core.publisher.FluxFlatMap.trySubscribeScalarMap(FluxFlatMap.java:202) at reactor.core.publisher.MonoFlatMap.subscribeOrReturn(MonoFlatMap.java:53) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:63) at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:165) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.complete(MonoIgnoreThen.java:294) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onNext(MonoIgnoreThen.java:188) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.complete(MonoIgnoreThen.java:294) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onNext(MonoIgnoreThen.java:188) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:237) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onComplete(MonoIgnoreThen.java:204) at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onComplete(FluxSwitchIfEmpty.java:85) at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onComplete(FluxPeekFuseable.java:277) at reactor.core.publisher.FluxDoFinally$DoFinallySubscriber.onComplete(FluxDoFinally.java:128) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.complete(MonoIgnoreThen.java:295) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onNext(MonoIgnoreThen.java:188) at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2571) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onSubscribe(MonoIgnoreThen.java:135) at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:55) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:241) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onComplete(MonoIgnoreThen.java:204) at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onComplete(FluxPeekFuseable.java:277) at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144) at reactor.netty.channel.FluxReceive.onInboundComplete(FluxReceive.java:415) at reactor.netty.channel.ChannelOperations.onInboundComplete(ChannelOperations.java:446) at reactor.netty.http.server.HttpServerOperations.onInboundNext(HttpServerOperations.java:687) at reactor.netty.channel.ChannelOperationsHandler.channelRead(ChannelOperationsHandler.java:114) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) at reactor.netty.http.server.HttpTrafficHandler.channelRead(HttpTrafficHandler.java:284) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436) at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346) at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318) at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) at reactor.netty.channel.AbstractChannelMetricsHandler.channelRead(AbstractChannelMetricsHandler.java:148) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166) at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788) at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) 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.lang.Thread.run(Thread.java:1583) @JamesChenX
以下是我跟踪代码发现的一些问题,getBean(RpcService.class)获取不到RpcService Bean对象,我使用@Component注解标识RpcService类,可以正常获取到RpcService(另外也需要把RpcProperties交由springboot管理),但是会产生连锁错误(because "this.discoveryService" is null)。
@darkSystemCode Sorry for the misleading in the above comment.
You need to call getContext().getBean(Node.class).getRpcService()
to get the RPC service because Node
is the only entry point for all node/cluster services
Thanks a lot.My problem and his are caused by the same problem. They are both used incorrectly getContext().getBean(RpcService.class).I have removed the use of UserRepository
@JamesChenX Changing to getContext().getBean(Node.class).getRpcService(), calling CreateUserRequest through rpcService resulted in a worse error. error info: 2024-05-14 01:46:04.045 INFO G mnahciyc 2231516667457643190 turms-common-timer : 576310318|137|BROWSER|1|192.168.1.108|7606047485354704|QUERY_MESSAGES_REQUEST|27|2024-05-14 01:45:33.945|1200||497|30100 2024-05-14 01:46:04.465 INFO G mnahciyc turms-gateway-ws-worker-25-4 c.i.t.p.a.MyTurmsRequestHandler : login info (UserLoginInfo[version=1, userId=136, password=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyQXZhdGFyIjoiIiwidXNlck5pY2tuYW1lIjoiMTg0KioqKjU5NjMiLCJleHAiOjE3MTU4MjMxNzAsInVzZXJJZCI6IjEzNiJ9.1I_tb91T5K9Uz671HzVqmBeUYij9JKENNTs1sRDO_Mw, loggingInDeviceType=BROWSER, deviceDetails={}, userStatus=AVAILABLE, location=null, ip=127.0.0.1]) 2024-05-14 01:46:04.466 INFO G mnahciyc turms-gateway-ws-worker-25-4 c.i.t.p.a.d.a.a.AuthAggregate : login info (UserLoginInfo[version=1, userId=136, password=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyQXZhdGFyIjoiIiwidXNlck5pY2tuYW1lIjoiMTg0KioqKjU5NjMiLCJleHAiOjE3MTU4MjMxNzAsInVzZXJJZCI6IjEzNiJ9.1I_tb91T5K9Uz671HzVqmBeUYij9JKENNTs1sRDO_Mw, loggingInDeviceType=BROWSER, deviceDetails={}, userStatus=AVAILABLE, location=null, ip=127.0.0.1]) 2024-05-14 01:46:04.474 INFO G mnahciyc turms-gateway-ws-worker-25-4 c.i.t.p.a.d.a.c.RequestManage : rpc call result: ({"code":0,"msg":"","data":true}) 2024-05-14 01:46:04.474 INFO G mnahciyc turms-gateway-ws-worker-25-4 c.i.t.p.a.d.a.a.AuthAggregate : rpc success (true) 2024-05-14 01:46:04.481 INFO G mnahciyc mongo-event-loop-20-5 c.i.t.p.a.MyTurmsRequestHandler : user exists (false) 2024-05-14 01:46:04.486 INFO G mnahciyc lettuce-nioEventLoop-10-1 : 1731180|136|BROWSER|1|127.0.0.1|4115194784564176|CREATE_SESSION_REQUEST|209|2024-05-14 01:46:04.464|1000||19|22 2024-05-14 01:46:10.225 INFO G mnahciyc 7194966169458123553 turms-admin-http-worker-28-1 : |127.0.0.1|3f1fcf3c-30|2024-05-14 01:46:10.181|getMetrics|{names=[jvm.gc.max.data.size, system.memory.total, system.cpu.usage, system.memory.free, jvm.gc.memory.promoted, jvm.memory.used, user.logged_in, jvm.classes.unloaded, jvm.threads.peak, jvm.gc.pause, turms.client.request, disk.free, jvm.buffer.total.capacity, jvm.buffer.memory.used, jvm.classes.loaded, disk.total, jvm.memory.committed, system.memory.swap.free, http.server.requests, user.online, process.cpu.usage, system.memory.swap.total, rpc.request, jvm.gc.live.data.size, jvm.threads.live, jvm.gc.memory.allocated, jvm.threads.daemon, jvm.memory.max, jvm.buffer.count], returnDescription=false, returnAvailableTags=false}|TRUE|44| 2024-05-14 01:46:16.530 WARN G mnahciyc turms-node-connection-server-worker-4-2 i.t.s.c.i.c.s.c.ConnectionService : [Server] The connection to the member {id=qtrpdlpn, host=192.168.1.149, port=7510} has been closed unexpectedly 2024-05-14 01:46:16.531 INFO G mnahciyc turms-node-connection-server-worker-4-2 i.t.s.c.i.c.s.c.ConnectionService : [Server] Stop to connect the member {id=qtrpdlpn, host=192.168.1.149, port=7510} because the local node is server 2024-05-14 01:46:20.228 INFO G mnahciyc 5587598574753133639 turms-admin-http-worker-28-1 : |127.0.0.1|3f1fcf3c-32|2024-05-14 01:46:20.184|getMetrics|{names=[jvm.gc.max.data.size, system.memory.total, system.cpu.usage, system.memory.free, jvm.gc.memory.promoted, jvm.memory.used, user.logged_in, jvm.classes.unloaded, jvm.threads.peak, jvm.gc.pause, turms.client.request, disk.free, jvm.buffer.total.capacity, jvm.buffer.memory.used, jvm.classes.loaded, disk.total, jvm.memory.committed, system.memory.swap.free, http.server.requests, user.online, process.cpu.usage, system.memory.swap.total, rpc.request, jvm.gc.live.data.size, jvm.threads.live, jvm.gc.memory.allocated, jvm.threads.daemon, jvm.memory.max, jvm.buffer.count], returnDescription=false, returnAvailableTags=false}|TRUE|44| 2024-05-14 01:46:27.201 INFO G mnahciyc 8526400644884591883 turms-admin-http-worker-28-1 : |127.0.0.1|3f1fcf3c-34|2024-05-14 01:46:27.196|getMetrics|{names=[system.cpu.usage, disk.free, system.memory.free, system.memory.total, disk.total], returnDescription=false, returnAvailableTags=false}|TRUE|3| 2024-05-14 01:46:31.542 INFO G mnahciyc turms-node-connection-server-worker-4-3 i.t.s.c.i.c.s.c.ConnectionService : [Server] Connected to the member 2024-05-14 01:46:31.546 INFO G mnahciyc 9136929764218156904 turms-node-connection-server-worker-4-3 i.t.s.c.i.c.s.c.ConnectionService : [Server] Completed the opening handshake with the member: qtrpdlpn[192.168.1.149:7510] 2024-05-14 01:46:34.517 INFO G mnahciyc turms-common-timer c.i.t.p.a.MyTurmsRequestHandler : create user error({}) java.lang.RuntimeException: Failed to request a response for the request: CreateUserRequest(id=136, rawPassword=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyQXZhdGFyIjoiIiwidXNlck5pY2tuYW1lIjoiMTg0KioqKjU5NjMiLCJleHAiOjE3MTU4MjMxNzAsInVzZXJJZCI6IjEzNiJ9.1I_tb91T5K9Uz671HzVqmBeUYij9JKENNTs1sRDO_Mw, name=, intro=null, profilePicture=null, profileAccessStrategy=ALL, permissionGroupId=0, registrationDate=Tue May 14 01:46:04 UTC 2024, isActive=true) at im.turms.server.common.infra.cluster.service.rpc.RpcService.mapThrowable(RpcService.java:621)
suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException:
Assembly trace from producer [reactor.core.publisher.MonoError] :
Error has been observed at the following site(s): ____Mono.onErrorMap ⇢ at im.turms.server.common.infra.cluster.service.rpc.RpcService.requestResponse0(RpcService.java:494) | Mono.onErrorResume ⇢ at im.turms.server.common.infra.cluster.service.rpc.RpcService.requestResponse(RpcService.java:319) |_ Mono.doFinally ⇢ at im.turms.server.common.infra.cluster.service.rpc.RpcService.requestResponse(RpcService.java:335) __Mono.error ⇢ at im.turms.server.common.infra.cluster.service.rpc.RpcService.lambda$requestResponse$2(RpcService.java:333) Original Stack Trace: at im.turms.server.common.infra.cluster.service.rpc.RpcService.mapThrowable(RpcService.java:621) at im.turms.server.common.infra.cluster.service.rpc.RpcService.lambda$requestResponse0$5(RpcService.java:494) at reactor.core.publisher.Mono.lambda$onErrorMap$28(Mono.java:3854) at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:94) at reactor.core.publisher.MonoMetrics$MetricsSubscriber.onError(MonoMetrics.java:113) at reactor.core.publisher.SerializedSubscriber.onError(SerializedSubscriber.java:124) at reactor.core.publisher.FluxTimeout$TimeoutMainSubscriber.handleTimeout(FluxTimeout.java:296) at reactor.core.publisher.FluxTimeout$TimeoutMainSubscriber.doTimeout(FluxTimeout.java:281) at reactor.core.publisher.FluxTimeout$TimeoutTimeoutSubscriber.onNext(FluxTimeout.java:420) at reactor.core.publisher.FluxOnErrorReturn$ReturnSubscriber.onNext(FluxOnErrorReturn.java:162) at reactor.core.publisher.MonoDelay$MonoDelayRunnable.propagateDelay(MonoDelay.java:270) at reactor.core.publisher.MonoDelay$MonoDelayRunnable.run(MonoDelay.java:285) at im.turms.server.common.infra.reactor.ExtendedTimerTask.run(ExtendedTimerTask.java:42) at io.netty.util.HashedWheelTimer$HashedWheelTimeout.run(HashedWheelTimer.java:706) at io.netty.util.concurrent.ImmediateExecutor.execute(ImmediateExecutor.java:34) at io.netty.util.HashedWheelTimer$HashedWheelTimeout.expire(HashedWheelTimer.java:694) at io.netty.util.HashedWheelTimer$HashedWheelBucket.expireTimeouts(HashedWheelTimer.java:781) at io.netty.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:494) at java.lang.Thread.run(Thread.java:1583)
caused by: java.util.concurrent.TimeoutException: Did not observe any item or terminal signal within 30000ms in 'Mono.deferContextual ⇢ at im.turms.server.common.infra.cluster.service.rpc.RpcService.requestResponse0(RpcService.java:471)' (and no fallback has been configured) at reactor.core.publisher.FluxTimeout$TimeoutMainSubscriber.handleTimeout(FluxTimeout.java:296)
suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException:
Assembly trace from producer [reactor.core.publisher.MonoTimeout] : reactor.core.publisher.Mono.timeout(Mono.java:5034) im.turms.server.common.infra.cluster.service.rpc.RpcService.requestResponse0(RpcService.java:485) Error has been observed at the following site(s): *_Mono.timeout ⇢ at im.turms.server.common.infra.cluster.service.rpc.RpcService.requestResponse0(RpcService.java:485) | Mono.metrics ⇢ at im.turms.server.common.infra.cluster.service.rpc.RpcService.requestResponse0(RpcService.java:493) Original Stack Trace: at reactor.core.publisher.FluxTimeout$TimeoutMainSubscriber.handleTimeout(FluxTimeout.java:296) at reactor.core.publisher.FluxTimeout$TimeoutMainSubscriber.doTimeout(FluxTimeout.java:281) at reactor.core.publisher.FluxTimeout$TimeoutTimeoutSubscriber.onNext(FluxTimeout.java:420) at reactor.core.publisher.FluxOnErrorReturn$ReturnSubscriber.onNext(FluxOnErrorReturn.java:162) at reactor.core.publisher.MonoDelay$MonoDelayRunnable.propagateDelay(MonoDelay.java:270) at reactor.core.publisher.MonoDelay$MonoDelayRunnable.run(MonoDelay.java:285) at im.turms.server.common.infra.reactor.ExtendedTimerTask.run(ExtendedTimerTask.java:42) at io.netty.util.HashedWheelTimer$HashedWheelTimeout.run(HashedWheelTimer.java:706) at io.netty.util.concurrent.ImmediateExecutor.execute(ImmediateExecutor.java:34) at io.netty.util.HashedWheelTimer$HashedWheelTimeout.expire(HashedWheelTimer.java:694) at io.netty.util.HashedWheelTimer$HashedWheelBucket.expireTimeouts(HashedWheelTimer.java:781) at io.netty.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:494) at java.lang.Thread.run(Thread.java:1583)
2024-05-14 01:46:36.218 ERROR G mnahciyc 7431434673320381664 turms-common-timer i.t.g.a.c.c.ClientRequestDispatcher : Failed to handle the service request: SimpleTurmsRequest[requestId=7770688167233702, type=QUERY_USER_PROFILES_REQUEST, createSessionRequest=null] java.lang.RuntimeException: Failed to request a response for the request: HandleServiceRequest{name='handleServiceRequest', tag=tag(type=QUERY_USER_PROFILES_REQUEST), requestTime=1715651166207, tracingContext=im.turms.server.common.infra.tracing.TracingContext@3151bc73, serviceRequest=ServiceRequest{ip=192.168.1.108, userId=137, deviceType=BROWSER, requestId=7770688167233702, type=QUERY_USER_PROFILES_REQUEST, turmsRequestBuffer=AdvancedLeakAwareByteBuf(PooledUnsafeDirectByteBuf(ridx: 0, widx: 16, cap: 16))}} at im.turms.server.common.infra.cluster.service.rpc.RpcService.mapThrowable(RpcService.java:621)
suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException:
Assembly trace from producer [reactor.core.publisher.MonoError] :
Error has been observed at the following site(s): __Mono.onErrorMap ⇢ at im.turms.server.common.infra.cluster.service.rpc.RpcService.requestResponse0(RpcService.java:494) | Mono.onErrorResume ⇢ at im.turms.server.common.infra.cluster.service.rpc.RpcService.requestResponse(RpcService.java:319) | Mono.doFinally ⇢ at im.turms.server.common.infra.cluster.service.rpc.RpcService.requestResponse(RpcService.java:335) | Mono.defaultIfEmpty ⇢ at im.turms.gateway.domain.servicerequest.service.ServiceRequestService.handleServiceRequest(ServiceRequestService.java:65) | Mono.map ⇢ at im.turms.gateway.domain.servicerequest.service.ServiceRequestService.handleServiceRequest(ServiceRequestService.java:66) |_ Mono.metrics ⇢ at im.turms.gateway.access.client.common.ClientRequestDispatcher.handleRequest(ClientRequestDispatcher.java:175) ___Mono.error ⇢ at im.turms.server.common.infra.cluster.service.rpc.RpcService.lambda$requestResponse$2(RpcService.java:333) Original Stack Trace: at im.turms.server.common.infra.cluster.service.rpc.RpcService.mapThrowable(RpcService.java:621) at im.turms.server.common.infra.cluster.service.rpc.RpcService.lambda$requestResponse0$5(RpcService.java:494) at reactor.core.publisher.Mono.lambda$onErrorMap$28(Mono.java:3854) at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:94) at reactor.core.publisher.MonoMetrics$MetricsSubscriber.onError(MonoMetrics.java:113) at reactor.core.publisher.SerializedSubscriber.onError(SerializedSubscriber.java:124) at reactor.core.publisher.FluxTimeout$TimeoutMainSubscriber.handleTimeout(FluxTimeout.java:296) at reactor.core.publisher.FluxTimeout$TimeoutMainSubscriber.doTimeout(FluxTimeout.java:281) at reactor.core.publisher.FluxTimeout$TimeoutTimeoutSubscriber.onNext(FluxTimeout.java:420) at reactor.core.publisher.FluxOnErrorReturn$ReturnSubscriber.onNext(FluxOnErrorReturn.java:162) at reactor.core.publisher.MonoDelay$MonoDelayRunnable.propagateDelay(MonoDelay.java:270) at reactor.core.publisher.MonoDelay$MonoDelayRunnable.run(MonoDelay.java:285) at im.turms.server.common.infra.reactor.ExtendedTimerTask.run(ExtendedTimerTask.java:42) at io.netty.util.HashedWheelTimer$HashedWheelTimeout.run(HashedWheelTimer.java:706) at io.netty.util.concurrent.ImmediateExecutor.execute(ImmediateExecutor.java:34) at io.netty.util.HashedWheelTimer$HashedWheelTimeout.expire(HashedWheelTimer.java:694) at io.netty.util.HashedWheelTimer$HashedWheelBucket.expireTimeouts(HashedWheelTimer.java:781) at io.netty.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:494) at java.lang.Thread.run(Thread.java:1583)
caused by: java.util.concurrent.TimeoutException: Did not observe any item or terminal signal within 30000ms in 'Mono.deferContextual ⇢ at im.turms.server.common.infra.cluster.service.rpc.RpcService.requestResponse0(RpcService.java:471)' (and no fallback has been configured) at reactor.core.publisher.FluxTimeout$TimeoutMainSubscriber.handleTimeout(FluxTimeout.java:296)
suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException:
Assembly trace from producer [reactor.core.publisher.MonoTimeout] : reactor.core.publisher.Mono.timeout(Mono.java:5034) im.turms.server.common.infra.cluster.service.rpc.RpcService.requestResponse0(RpcService.java:485) Error has been observed at the following site(s): *_Mono.timeout ⇢ at im.turms.server.common.infra.cluster.service.rpc.RpcService.requestResponse0(RpcService.java:485) | Mono.metrics ⇢ at im.turms.server.common.infra.cluster.service.rpc.RpcService.requestResponse0(RpcService.java:493) Original Stack Trace: at reactor.core.publisher.FluxTimeout$TimeoutMainSubscriber.handleTimeout(FluxTimeout.java:296) at reactor.core.publisher.FluxTimeout$TimeoutMainSubscriber.doTimeout(FluxTimeout.java:281) at reactor.core.publisher.FluxTimeout$TimeoutTimeoutSubscriber.onNext(FluxTimeout.java:420) at reactor.core.publisher.FluxOnErrorReturn$ReturnSubscriber.onNext(FluxOnErrorReturn.java:162) at reactor.core.publisher.MonoDelay$MonoDelayRunnable.propagateDelay(MonoDelay.java:270) at reactor.core.publisher.MonoDelay$MonoDelayRunnable.run(MonoDelay.java:285) at im.turms.server.common.infra.reactor.ExtendedTimerTask.run(ExtendedTimerTask.java:42) at io.netty.util.HashedWheelTimer$HashedWheelTimeout.run(HashedWheelTimer.java:706) at io.netty.util.concurrent.ImmediateExecutor.execute(ImmediateExecutor.java:34) at io.netty.util.HashedWheelTimer$HashedWheelTimeout.expire(HashedWheelTimer.java:694) at io.netty.util.HashedWheelTimer$HashedWheelBucket.expireTimeouts(HashedWheelTimer.java:781) at io.netty.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:494) at java.lang.Thread.run(Thread.java:1583)