Closed NickImmoflow closed 10 months ago
@Nikhil-Nandagopal The Get API request works fine with Postman.
FYI: Your support has got the test credentials and the invitation to our workspace and application. (Sent from nick@immoflow.io). Discord thread: https://discord.com/channels/725602949748752515/1193881843926310932
@rohan-arthur I guess, I have found the issue for this behavior and I would like to ask you for confirmation of my thinking. I tested the API Call on other page in the app and it worked fast as expected. The main difference between the pages is that the page where is call does need long time to load has many TypeError (80+) because of undefined widgets or queries, I think that appsmith instance firstly checks all widgets and queries on page, secondly handle all other call e.g. API calls. That means that die to overload of appsmith instance on that page, it can't proceed the API call while it checks all the TypeErrors.
@rohan-arthur My guess was wrong. I reduced errors from 80 to 8 and still the loading of the API request is infinite. But I do not understand why the API request can perfectly be sent from other page but cannot from a specific one.
@NickImmoflow We are looking into the issue and we will let you know as soon as we find out the cause of the issue.
@NickImmoflow It looks like this action may have gotten corrupted somehow, can you please try to copy the same action from a page where it works to this page where it does not work? We can check if this copied action works or not. If it works we will know for sure that previous action got corrupted somehow, if it does not we can investigate it further to see if there is any issue with the page itself
@sneha122 Thank you for your suggestion. My actions:
The get api call is still not working.
@NickImmoflow Thank you for trying out the suggestion. In order to understand the problem in detail, It would be great if you are able to get on a call. I am sharing the calendly link in the discord thread, Please feel free to schedule the call.
@NickImmoflow Continuing the conversation over the discord thread, I have posted latest updates on it. Please check
@sneha122 Thank you for your help. I have already answered in the discord thread and will repeat it here, too. The solution is to clone the problematic page. Short test was successfully and I confirm that now the API call is working as expected. Sad that we couldn't identify the issue why this behavior appeared and I'm glad that we found a quick solution for our problem. @sneha122 Thank you very much for your support and our today's conversation.
Is there an existing issue for this?
Description
[Business Edition] When I execute a GET API request to Subabase (OAuth get User Details), appsmith instance load the request without timeout. After that i see an error in backend logs of docker container: "backend stdout | com.appsmith.server.exceptions.AppsmithException: Please enter a valid parameter workspaceId. backend stdout | at com.appsmith.server.datasources.base.DatasourceServiceImpl.getTrueEnvironmentId(DatasourceServiceImpl.java:102) backend stdout | Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException: backend stdout | Error has been observed at the following site(s): backend stdout | *__checkpoint ⇢ Handler com.appsmith.server.controllers.ActionController#executeAction(Flux, String, String, String) [DispatcherHandler] backend stdout | Original Stack Trace: backend stdout | at com.appsmith.server.datasources.base.DatasourceServiceImpl.getTrueEnvironmentId(DatasourceServiceImpl.java:102) backend stdout | at com.appsmith.server.solutions.ce.ActionExecutionSolutionCEImpl.lambda$executeAction$0(ActionExecutionSolutionCEImpl.java:197) backend stdout | at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:132) backend stdout | at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:53) backend stdout | at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137) backend stdout | at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondComplete(MonoFlatMap.java:245) backend stdout | at reactor.core.publisher.MonoFlatMap$FlatMapInner.onNext(MonoFlatMap.java:305) backend stdout | at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:53) backend stdout | at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2545) backend stdout | at reactor.core.publisher.MonoFlatMap$FlatMapInner.onSubscribe(MonoFlatMap.java:291) backend stdout | at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:47) backend stdout | at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:55) backend stdout | at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64) backend stdout | at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:165) backend stdout | at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:53) backend stdout | at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(FluxSwitchIfEmpty.java:74) backend stdout | at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:53) backend stdout | at reactor.core.publisher.MonoUsingWhen$MonoUsingWhenSubscriber.deferredComplete(MonoUsingWhen.java:268) backend stdout | at reactor.core.publisher.FluxUsingWhen$CommitInner.onComplete(FluxUsingWhen.java:527) backend stdout | at reactor.core.publisher.Operators.complete(Operators.java:137) backend stdout | at reactor.core.publisher.MonoEmpty.subscribe(MonoEmpty.java:46) backend stdout | at reactor.core.publisher.Mono.subscribe(Mono.java:4495) backend stdout | at reactor.core.publisher.FluxUsingWhen$UsingWhenSubscriber.onComplete(FluxUsingWhen.java:384) backend stdout | at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onComplete(MDCConfig.java:63) backend stdout | at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondComplete(MonoFlatMap.java:246) backend stdout | at reactor.core.publisher.MonoFlatMap$FlatMapInner.onNext(MonoFlatMap.java:305) backend stdout | at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:53) backend stdout | at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondComplete(MonoFlatMap.java:245) backend stdout | at reactor.core.publisher.MonoFlatMap$FlatMapInner.onNext(MonoFlatMap.java:305) backend stdout | at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:53) backend stdout | at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2545) backend stdout | at reactor.core.publisher.MonoFlatMap$FlatMapInner.onSubscribe(MonoFlatMap.java:291) backend stdout | at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:47) backend stdout | at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:55) backend stdout | at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64) backend stdout | at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:165) backend stdout | at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:53) backend stdout | at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137) backend stdout | at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondComplete(MonoFlatMap.java:245) backend stdout | at reactor.core.publisher.MonoFlatMap$FlatMapInner.onNext(MonoFlatMap.java:305) backend stdout | at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:53) backend stdout | at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2545) backend stdout | at reactor.core.publisher.MonoFlatMap$FlatMapInner.onSubscribe(MonoFlatMap.java:291) backend stdout | at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:47) backend stdout | at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:55) backend stdout | at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64) backend stdout | at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:165) backend stdout | at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:53) backend stdout | at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137) backend stdout | at reactor.core.publisher.Operators$BaseFluxToMonoOperator.completePossiblyEmpty(Operators.java:2071) backend stdout | at reactor.core.publisher.MonoCollectList$MonoCollectListSubscriber.onComplete(MonoCollectList.java:118) backend stdout | at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onComplete(MDCConfig.java:63) backend stdout | at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onComplete(Operators.java:2205) backend stdout | at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onComplete(MDCConfig.java:63) backend stdout | at reactor.core.publisher.MonoFlatMapMany$FlatMapManyInner.onComplete(MonoFlatMapMany.java:260) backend stdout | at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onComplete(MDCConfig.java:63) backend stdout | at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.onComplete(FluxConcatMapNoPrefetch.java:240) backend stdout | at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onComplete(MDCConfig.java:63) backend stdout | at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onComplete(MDCConfig.java:63) backend stdout | at reactor.core.publisher.FluxCreate$BaseSink.complete(FluxCreate.java:460) backend stdout | at reactor.core.publisher.FluxCreate$BufferAsyncSink.drain(FluxCreate.java:805) backend stdout | at reactor.core.publisher.FluxCreate$BufferAsyncSink.complete(FluxCreate.java:753) backend stdout | at reactor.core.publisher.FluxCreate$SerializedFluxSink.drainLoop(FluxCreate.java:247) backend stdout | at reactor.core.publisher.FluxCreate$SerializedFluxSink.drain(FluxCreate.java:213) backend stdout | at reactor.core.publisher.FluxCreate$SerializedFluxSink.complete(FluxCreate.java:204) backend stdout | at com.mongodb.reactivestreams.client.internal.BatchCursorFlux.lambda$recurseCursor$4(BatchCursorFlux.java:102) backend stdout | at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onNext(MonoPeekTerminal.java:171) backend stdout | at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:53) backend stdout | at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137) backend stdout | at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onNext(MonoPeekTerminal.java:180) backend stdout | at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:53) backend stdout | at reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:200) backend stdout | at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:53) backend stdout | at reactor.core.publisher.MonoCreate$DefaultMonoSink.success(MonoCreate.java:172) backend stdout | at com.mongodb.reactivestreams.client.internal.MongoOperationPublisher.lambda$sinkToCallback$31(MongoOperationPublisher.java:577) backend stdout | at com.mongodb.internal.operation.AsyncQueryBatchCursor.next(AsyncQueryBatchCursor.java:173) backend stdout | at com.mongodb.reactivestreams.client.internal.BatchCursor.lambda$next$0(BatchCursor.java:38) backend stdout | at reactor.core.publisher.MonoCreate.subscribe(MonoCreate.java:58) backend stdout | at reactor.core.publisher.Mono.subscribe(Mono.java:4495) backend stdout | at reactor.core.publisher.Mono.subscribeWith(Mono.java:4561) backend stdout | at reactor.core.publisher.Mono.subscribe(Mono.java:4323) backend stdout | at com.mongodb.reactivestreams.client.internal.BatchCursorFlux.recurseCursor(BatchCursorFlux.java:108) backend stdout | at com.mongodb.reactivestreams.client.internal.BatchCursorFlux.lambda$subscribe$0(BatchCursorFlux.java:60) backend stdout | at reactor.core.publisher.LambdaMonoSubscriber.onNext(LambdaMonoSubscriber.java:171) backend stdout | at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:53) backend stdout | at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:122) backend stdout | at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:53) backend stdout | at reactor.core.publisher.MonoNext$NextSubscriber.onNext(MonoNext.java:82) backend stdout | at reactor.core.publisher.MonoNext$NextSubscriber.onNext(MonoNext.java:82) backend stdout | at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:53) backend stdout | at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondComplete(MonoFlatMap.java:245) backend stdout | at reactor.core.publisher.MonoFlatMap$FlatMapInner.onNext(MonoFlatMap.java:305) backend stdout | at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:53) backend stdout | at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onNext(MonoPeekTerminal.java:180) backend stdout | at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:53) backend stdout | at reactor.core.publisher.MonoCreate$DefaultMonoSink.success(MonoCreate.java:172) backend stdout | at com.mongodb.reactivestreams.client.internal.MongoOperationPublisher.lambda$sinkToCallback$31(MongoOperationPublisher.java:577) backend stdout | at com.mongodb.reactivestreams.client.internal.OperationExecutorImpl.lambda$execute$2(OperationExecutorImpl.java:94) backend stdout | at com.mongodb.internal.async.ErrorHandlingResultCallback.onResult(ErrorHandlingResultCallback.java:46) backend stdout | at com.mongodb.internal.async.function.AsyncCallbackSupplier.lambda$whenComplete$1(AsyncCallbackSupplier.java:97) backend stdout | at com.mongodb.internal.async.function.RetryingAsyncCallbackSupplier$RetryingCallback.onResult(RetryingAsyncCallbackSupplier.java:116) backend stdout | at com.mongodb.internal.async.ErrorHandlingResultCallback.onResult(ErrorHandlingResultCallback.java:46) backend stdout | at com.mongodb.internal.async.function.AsyncCallbackSupplier.lambda$whenComplete$1(AsyncCallbackSupplier.java:97) backend stdout | at com.mongodb.internal.async.ErrorHandlingResultCallback.onResult(ErrorHandlingResultCallback.java:46) backend stdout | at com.mongodb.internal.async.function.AsyncCallbackSupplier.lambda$whenComplete$1(AsyncCallbackSupplier.java:97) backend stdout | at com.mongodb.internal.operation.FindOperation$1.onResult(FindOperation.java:379) backend stdout | at com.mongodb.internal.operation.CommandOperationHelper.lambda$transformingReadCallback$10(CommandOperationHelper.java:332) backend stdout | at com.mongodb.internal.async.ErrorHandlingResultCallback.onResult(ErrorHandlingResultCallback.java:46) backend stdout | at com.mongodb.internal.connection.DefaultServer$DefaultServerProtocolExecutor$1.onResult(DefaultServer.java:242) backend stdout | at com.mongodb.internal.async.ErrorHandlingResultCallback.onResult(ErrorHandlingResultCallback.java:46) backend stdout | at com.mongodb.internal.connection.CommandProtocolImpl$1.onResult(CommandProtocolImpl.java:84) backend stdout | at com.mongodb.internal.connection.DefaultConnectionPool$PooledConnection$1.onResult(DefaultConnectionPool.java:683) backend stdout | at com.mongodb.internal.connection.UsageTrackingInternalConnection$2.onResult(UsageTrackingInternalConnection.java:159) backend stdout | at com.mongodb.internal.async.ErrorHandlingResultCallback.onResult(ErrorHandlingResultCallback.java:46) backend stdout | at com.mongodb.internal.connection.InternalStreamConnection$2$1.onResult(InternalStreamConnection.java:524) backend stdout | at com.mongodb.internal.connection.InternalStreamConnection$2$1.onResult(InternalStreamConnection.java:501) backend stdout | at com.mongodb.internal.connection.InternalStreamConnection$MessageHeaderCallback$MessageCallback.onResult(InternalStreamConnection.java:824) backend stdout | at com.mongodb.internal.connection.InternalStreamConnection$MessageHeaderCallback$MessageCallback.onResult(InternalStreamConnection.java:788) backend stdout | at com.mongodb.internal.connection.InternalStreamConnection$5.completed(InternalStreamConnection.java:648) backend stdout | at com.mongodb.internal.connection.InternalStreamConnection$5.completed(InternalStreamConnection.java:645) backend stdout | at com.mongodb.connection.netty.NettyStream.readAsync(NettyStream.java:319) backend stdout | at com.mongodb.connection.netty.NettyStream.readAsync(NettyStream.java:266) backend stdout | at com.mongodb.internal.connection.InternalStreamConnection.readAsync(InternalStreamConnection.java:645) backend stdout | at com.mongodb.internal.connection.InternalStreamConnection.access$600(InternalStreamConnection.java:89) backend stdout | at com.mongodb.internal.connection.InternalStreamConnection$MessageHeaderCallback.onResult(InternalStreamConnection.java:778) backend stdout | at com.mongodb.internal.connection.InternalStreamConnection$MessageHeaderCallback.onResult(InternalStreamConnection.java:763) backend stdout | at com.mongodb.internal.connection.InternalStreamConnection$5.completed(InternalStreamConnection.java:648) backend stdout | at com.mongodb.internal.connection.InternalStreamConnection$5.completed(InternalStreamConnection.java:645) backend stdout | at com.mongodb.connection.netty.NettyStream.readAsync(NettyStream.java:319) backend stdout | at com.mongodb.connection.netty.NettyStream.handleReadResponse(NettyStream.java:347) backend stdout | at com.mongodb.connection.netty.NettyStream.access$1100(NettyStream.java:105) backend stdout | at com.mongodb.connection.netty.NettyStream$InboundBufferHandler.channelRead0(NettyStream.java:421) backend stdout | at com.mongodb.connection.netty.NettyStream$InboundBufferHandler.channelRead0(NettyStream.java:418) backend stdout | at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99) backend stdout | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) backend stdout | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) backend stdout | at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) backend stdout | at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) backend stdout | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440) backend stdout | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) backend stdout | at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) backend stdout | at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166) backend stdout | at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788) backend stdout | at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) backend stdout | at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) backend stdout | at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) backend stdout | at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) backend stdout | at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) backend stdout | at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) backend stdout | at java.base/java.lang.Thread.run(Thread.java:840)"
This API request worked fine 2 days before. On weekends the automatic scheduled appsmith update and automatic backup of appsmith is running, maybe there could something happen.
And after that I got the entry in my repository: "formToNativeQuery": { "data": "Unable to find resource XXX", "status": "ERROR"} and "isValid": false, "invalids": [ "Unable to find datasource XXX", "Unable to find plugin XXX" ]
Steps To Reproduce
Public Sample App
No response
Environment
Production
Issue video log
No response
Version
Self hosted/1.9.58