ArangoDB Connectivity Issues

I’ve recently started testing AppSmith with ArangoDB(v3.9.0).

I have both AppSmith and Arango hosted in separate Docker containers on my local machine.

Initially everything works well, but after a period of time AppSmith appears to lose connectivity to Arango. Looking at the AppsSmith console i can see the following:

appsmith                | backend stdout |  - Could not connect to host[addr=192.168.64.53,port=8529]. Try connecting to host[addr=192.168.64.53,port=8529]

appsmith                | backend stdout | 

appsmith                | backend stdout |  - [nioEventLoopGroup-3-19]Execute Action called in Page 624c36509b2682181bf4791f, for action id : 6250254ad4a168481107dde0  action name : GetPartNumbers

appsmith                | backend stdout | 

appsmith                | backend stdout |  - Resource context exists. Returning the same.

appsmith                | backend stdout | 

appsmith                | backend stdout | elastic-37: In the ArangoDBPlugin, got action execution result

appsmith                | backend stdout | 

appsmith                | backend stdout |  - parallel-11: In the action execution error mode.

appsmith                | backend stdout | com.appsmith.external.exceptions.pluginExceptions.AppsmithPluginException: GetPartNumbers timed out in 10,000 milliseconds. Please increase timeout. This can be found in Settings tab of GetPartNumbers.

appsmith                | backend stdout |  at com.appsmith.server.services.ce.NewActionServiceCEImpl.lambda$executeAction$25(NewActionServiceCEImpl.java:695)

appsmith                | backend stdout |  at reactor.core.publisher.Mono.lambda$onErrorMap$30(Mono.java:3719)

appsmith                | backend stdout |  at reactor.core.publisher.Mono.lambda$onErrorResume$32(Mono.java:3809)

appsmith                | backend stdout |  at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:94)

appsmith                | backend stdout |  at reactor.core.publisher.SerializedSubscriber.onError(SerializedSubscriber.java:124)

appsmith                | backend stdout |  at reactor.core.publisher.SerializedSubscriber.onError(SerializedSubscriber.java:124)

appsmith                | backend stdout |  at reactor.core.publisher.FluxTimeout$TimeoutMainSubscriber.handleTimeout(FluxTimeout.java:295)

appsmith                | backend stdout |  at reactor.core.publisher.FluxTimeout$TimeoutMainSubscriber.doTimeout(FluxTimeout.java:280)

appsmith                | backend stdout |  at reactor.core.publisher.FluxTimeout$TimeoutTimeoutSubscriber.onNext(FluxTimeout.java:419)

appsmith                | backend stdout |  at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:79)

appsmith                | backend stdout |  at reactor.core.publisher.MonoDelay$MonoDelayRunnable.propagateDelay(MonoDelay.java:271)

appsmith                | backend stdout |  at reactor.core.publisher.MonoDelay$MonoDelayRunnable.run(MonoDelay.java:286)

appsmith                | backend stdout |  at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:68)

appsmith                | backend stdout |  at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:28)

appsmith                | backend stdout |  at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)

appsmith                | backend stdout |  at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)

appsmith                | backend stdout |  at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)

appsmith                | backend stdout |  at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)

appsmith                | backend stdout |  at java.base/java.lang.Thread.run(Thread.java:829)

appsmith                | backend stdout | 

appsmith                | backend stdout |  - parallel-11: Action GetPartNumbers with id 6250254ad4a168481107dde0 execution time : 10001 ms

I’ve tried binding to host.docker.internal and my local IP address, both behave the same - works initially and then stops. I can also confirm that this behaviour has not changed since updating to AppSmith v1.6.18

@sam.jenkins This requires some code change. We have created an issue for it. Please track it here - https://github.com/appsmithorg/appsmith/issues/12732

Thanks for the update!
I’ve now created a docker network and added my two containers (172.20.0.2 and 172.20.0.3). If I bind to this address then everything seems stable (so far).