Closed pankajjangid05 closed 1 year ago
Yesterday, we targeted over 112,000 users to trigger notifications on prod. As a result, this error did not occur again. But I want to test the load on the transformer and test how it performs.
Friday we got this error :
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | 2023-07-21 10:32:37,801 ERROR [reactor-tcp-epoll-16] com.uci.transformer.odk.ODKConsumerReactive:533: Failed to obtain R2DBC Connection; nested exception is io.r2dbc.postgresql.ExceptionFactory$PostgresqlNonTransientResourceException: [53300] sorry, too many clients already
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | 2023-07-21 10:32:37,801 ERROR [reactor-tcp-epoll-16] reactor.util.Loggers$Slf4JLogger:315: Operator called default onErrorDropped
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | reactor.core.Exceptions$ErrorCallbackNotImplemented: org.springframework.dao.DataAccessResourceFailureException: Failed to obtain R2DBC Connection; nested exception is io.r2dbc.postgresql.ExceptionFactory$PostgresqlNonTransientResourceException: [53300] sorry, too many clients already
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | Caused by: org.springframework.dao.DataAccessResourceFailureException: Failed to obtain R2DBC Connection; nested exception is io.r2dbc.postgresql.ExceptionFactory$PostgresqlNonTransientResourceException: [53300] sorry, too many clients already
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at org.springframework.r2dbc.connection.ConnectionFactoryUtils.lambda$getConnection$0(ConnectionFactoryUtils.java:88)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at reactor.core.publisher.Mono.lambda$onErrorMap$31(Mono.java:3733)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:94)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:106)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at reactor.core.publisher.FluxMap$MapSubscriber.onError(FluxMap.java:132)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:106)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at reactor.core.publisher.Operators.error(Operators.java:198)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at reactor.core.publisher.MonoError.subscribe(MonoError.java:53)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at reactor.core.publisher.Mono.subscribe(Mono.java:4400)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:103)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at reactor.core.publisher.MonoFlatMap$FlatMapMain.onError(MonoFlatMap.java:172)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:106)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at reactor.core.publisher.Operators.error(Operators.java:198)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at reactor.core.publisher.MonoError.subscribe(MonoError.java:53)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at reactor.core.publisher.Mono.subscribe(Mono.java:4400)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:103)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:106)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at reactor.core.publisher.Operators.error(Operators.java:198)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at reactor.core.publisher.MonoError.subscribe(MonoError.java:53)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at reactor.core.publisher.Mono.subscribe(Mono.java:4400)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:103)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at reactor.core.publisher.FluxMap$MapSubscriber.onError(FluxMap.java:132)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at reactor.core.publisher.MonoDelayUntil$DelayUntilTrigger.onError(MonoDelayUntil.java:514)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at reactor.core.publisher.FluxHandle$HandleSubscriber.onError(FluxHandle.java:203)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at reactor.core.publisher.FluxHandle$HandleSubscriber.onNext(FluxHandle.java:125)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at reactor.core.publisher.FluxHandle$HandleConditionalSubscriber.onNext(FluxHandle.java:327)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at reactor.core.publisher.FluxCreate$BufferAsyncSink.drain(FluxCreate.java:793)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at reactor.core.publisher.FluxCreate$BufferAsyncSink.next(FluxCreate.java:718)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at reactor.core.publisher.FluxCreate$SerializedFluxSink.next(FluxCreate.java:154)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at io.r2dbc.postgresql.client.ReactorNettyClient$Conversation.emit(ReactorNettyClient.java:700)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at io.r2dbc.postgresql.client.ReactorNettyClient$BackendMessageSubscriber.emit(ReactorNettyClient.java:888)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at io.r2dbc.postgresql.client.ReactorNettyClient$BackendMessageSubscriber.onNext(ReactorNettyClient.java:822)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at io.r2dbc.postgresql.client.ReactorNettyClient$BackendMessageSubscriber.onNext(ReactorNettyClient.java:731)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at reactor.core.publisher.FluxHandle$HandleSubscriber.onNext(FluxHandle.java:119)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at reactor.core.publisher.FluxPeekFuseable$PeekConditionalSubscriber.onNext(FluxPeekFuseable.java:854)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at reactor.core.publisher.FluxMap$MapConditionalSubscriber.onNext(FluxMap.java:220)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at reactor.core.publisher.FluxMap$MapConditionalSubscriber.onNext(FluxMap.java:220)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at reactor.netty.channel.FluxReceive.drainReceiver(FluxReceive.java:279)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at reactor.netty.channel.FluxReceive.onInboundNext(FluxReceive.java:388)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at reactor.netty.channel.ChannelOperations.onInboundNext(ChannelOperations.java:404)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at reactor.netty.channel.ChannelOperationsHandler.channelRead(ChannelOperationsHandler.java:93)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:795)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:480)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:378)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at java.base/java.lang.Thread.run(Unknown Source)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | Caused by: io.r2dbc.postgresql.ExceptionFactory$PostgresqlNonTransientResourceException: sorry, too many clients already
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at io.r2dbc.postgresql.ExceptionFactory.createException(ExceptionFactory.java:98)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at io.r2dbc.postgresql.ExceptionFactory.handleErrorResponse(ExceptionFactory.java:110)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | at reactor.core.publisher.FluxHandle$HandleSubscriber.onNext(FluxHandle.java:103)
core_transformer.1.po4knwou2uqe@UCI-Docker-Swarm-Master | ... 35 common frames omitted
Connection pooling added and deployed on staging and prod .
Waiting for a few more bot triggering to double check resolution.
While multiple requests come on the transformer and the transformer gets the ODK form from Postgres we are getting the below error :