Mongo DB Always Times Out On Connecting to Metabase

Hi all,

I am trying to connect my Metabase running on AWS ECS to Mongo DB hosted on an AWS EC2 Instance and is open to the internet secured with username and password.

However, no matter how much I tried to connect using the public IP, public DNS, private IP and private DNS, the metabase simply times out all the time, There are no specific errors in the logs too, they simply say "Timed out after 10 seconds". Below is the full log:

2022-11-18 14:59:18,563 ERROR api.database :: Cannot connect to Database
clojure.lang.ExceptionInfo: Timed out after 10.0 s {:message "Timed out after 10.0 s"}
	at metabase.driver.util$can_connect_with_details_QMARK_.invokeStatic(util.clj:153)
	at metabase.driver.util$can_connect_with_details_QMARK_.doInvoke(util.clj:126)
	at clojure.lang.RestFn.invoke(RestFn.java:442)
	at metabase.api.database$test_database_connection.invokeStatic(database.clj:540)
	at metabase.api.database$test_database_connection.doInvoke(database.clj:530)
	at clojure.lang.RestFn.invoke(RestFn.java:425)
	at metabase.api.setup$fn__77068.invokeStatic(setup.clj:177)
	at metabase.api.setup$fn__77068.invoke(setup.clj:171)
	at compojure.core$wrap_response$fn__28102.invoke(core.clj:160)
	at compojure.core$wrap_route_middleware$fn__28086.invoke(core.clj:132)
	at compojure.core$wrap_route_info$fn__28091.invoke(core.clj:139)
	at compojure.core$wrap_route_matches$fn__28095.invoke(core.clj:151)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$wrap_route_matches$fn__28095.invoke(core.clj:152)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$wrap_route_matches$fn__28095.invoke(core.clj:153)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114.invoke(core.clj:200)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114.invoke(core.clj:200)
	at compojure.core$make_context$handler__28142.invoke(core.clj:289)
	at compojure.core$make_context$fn__28146.invoke(core.clj:299)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at metabase.api.routes$fn__79953$fn__79956.invoke(routes.clj:60)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114.invoke(core.clj:200)
	at clojure.lang.AFn.applyToHelper(AFn.java:160)
	at clojure.lang.AFn.applyTo(AFn.java:144)
	at clojure.core$apply.invokeStatic(core.clj:667)
	at clojure.core$apply.invoke(core.clj:662)
	at metabase.server.routes$fn__80108$fn__80109.doInvoke(routes.clj:67)
	at clojure.lang.RestFn.invoke(RestFn.java:436)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114.invoke(core.clj:200)
	at compojure.core$make_context$handler__28142.invoke(core.clj:289)
	at compojure.core$make_context$fn__28146.invoke(core.clj:299)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$wrap_route_matches$fn__28095.invoke(core.clj:153)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$wrap_route_matches$fn__28095.invoke(core.clj:153)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$wrap_route_matches$fn__28095.invoke(core.clj:153)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at metabase.server.routes$fn__80094$fn__80096.invoke(routes.clj:45)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114.invoke(core.clj:200)
	at metabase.server.middleware.exceptions$catch_uncaught_exceptions$fn__76842.invoke(exceptions.clj:98)
	at metabase.server.middleware.exceptions$catch_api_exceptions$fn__76839.invoke(exceptions.clj:86)
	at metabase.server.middleware.log$log_api_call$fn__81520$fn__81521$fn__81522.invoke(log.clj:211)
	at metabase.driver.sql_jdbc.execute.diagnostic$do_with_diagnostic_info.invokeStatic(diagnostic.clj:15)
	at metabase.driver.sql_jdbc.execute.diagnostic$do_with_diagnostic_info.invoke(diagnostic.clj:9)
	at metabase.server.middleware.log$log_api_call$fn__81520$fn__81521.invoke(log.clj:203)
	at toucan.db$_do_with_call_counting.invokeStatic(db.clj:236)
	at toucan.db$_do_with_call_counting.invoke(db.clj:229)
	at metabase.server.middleware.log$log_api_call$fn__81520.invoke(log.clj:202)
	at metabase.server.middleware.browser_cookie$ensure_browser_id_cookie$fn__84620.invoke(browser_cookie.clj:38)
	at metabase.server.middleware.security$add_security_headers$fn__62357.invoke(security.clj:149)
	at metabase.server.middleware.json$wrap_json_body$fn__83578.invoke(json.clj:63)
	at metabase.server.middleware.json$wrap_streamed_json_response$fn__83596.invoke(json.clj:99)
	at metabase.server.middleware.offset_paging$handle_paging$fn__62381.invoke(offset_paging.clj:42)
	at ring.middleware.keyword_params$wrap_keyword_params$fn__84887.invoke(keyword_params.clj:55)
	at ring.middleware.params$wrap_params$fn__84906.invoke(params.clj:77)
	at metabase.server.middleware.misc$maybe_set_site_url$fn__35786.invoke(misc.clj:59)
	at metabase.server.middleware.session$reset_session_timeout$fn__47478.invoke(session.clj:377)
	at metabase.server.middleware.session$bind_current_user$fn__47461$fn__47462.invoke(session.clj:313)
	at metabase.server.middleware.session$do_with_current_user.invokeStatic(session.clj:292)
	at metabase.server.middleware.session$do_with_current_user.invoke(session.clj:281)
	at metabase.server.middleware.session$bind_current_user$fn__47461.invoke(session.clj:312)
	at metabase.server.middleware.session$wrap_current_user_info$fn__47443.invoke(session.clj:262)
	at metabase.server.middleware.session$wrap_session_id$fn__47427.invoke(session.clj:195)
	at metabase.server.middleware.auth$wrap_api_key$fn__68972.invoke(auth.clj:27)
	at ring.middleware.cookies$wrap_cookies$fn__84807.invoke(cookies.clj:216)
	at metabase.server.middleware.misc$add_content_type$fn__35769.invoke(misc.clj:27)
	at metabase.server.middleware.misc$disable_streaming_buffering$fn__35794.invoke(misc.clj:76)
	at ring.middleware.gzip$wrap_gzip$fn__84849.invoke(gzip.clj:86)
	at metabase.server.middleware.misc$bind_request$fn__35797.invoke(misc.clj:93)
	at metabase.server.middleware.ssl$redirect_to_https_middleware$fn__84636.invoke(ssl.clj:38)
	at metabase.server$async_proxy_handler$fn__80316.invoke(server.clj:73)
	at metabase.server.proxy$org.eclipse.jetty.server.handler.AbstractHandler$ff19274a.handle(Unknown Source)
	at org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:181)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
	at org.eclipse.jetty.server.Server.handle(Server.java:516)
	at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:487)
	at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:732)
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:479)
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277)
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
	at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:137)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034)
	at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.util.concurrent.TimeoutException: Timed out after 10.0 s
	at metabase.util$deref_with_timeout.invokeStatic(util.clj:332)
	at metabase.util$deref_with_timeout.invoke(util.clj:324)
	at metabase.util$do_with_timeout.invokeStatic(util.clj:339)
	at metabase.util$do_with_timeout.invoke(util.clj:335)
	at metabase.driver.util$can_connect_with_details_QMARK_.invokeStatic(util.clj:137)
	... 189 more
2022-11-18 14:59:18,573 DEBUG middleware.log :: POST /api/setup/validate 400 10.0 s (1 DB calls) 
{:message "Timed out after 10.0 s"}


I am able to reach the host from inside the metabase docker container too, but somehow metabase cannot connect to it. It is secured over SSL and I tried putting the certificate too but that does not work too. Please help me out. Below is the version details of the MEtabase and Mongo DB that I am using.

Self Hosted Mongo DB Version: v6.0.3 Community Server
Metabase Version: v0.44.6 Docker Image from Official Docker Hub

Hi @sai_s
Try checking your Mongo logs to see if it communicates with Metabase at any point.
Metabase tries to make a simple query during connection attempt, so if that is failing, then it could be cause of the connection problems.
Haven't tried Mongo 6 yet, so don't know if there's a breaking change there.

Hi flamber,

Thank you for the quick reply, I was trying to use metabase with Mongo DB 5.0.13 Community Server and i am still facing the same issues. Below are the logs:

2022-11-21 09:12:18,327 ERROR api.database :: Cannot connect to Database
clojure.lang.ExceptionInfo: Timed out after 10.0 s {:message "Timed out after 10.0 s"}
	at metabase.driver.util$can_connect_with_details_QMARK_.invokeStatic(util.clj:153)
	at metabase.driver.util$can_connect_with_details_QMARK_.doInvoke(util.clj:126)
	at clojure.lang.RestFn.invoke(RestFn.java:442)
	at metabase.api.database$test_database_connection.invokeStatic(database.clj:540)
	at metabase.api.database$test_database_connection.doInvoke(database.clj:530)
	at clojure.lang.RestFn.invoke(RestFn.java:425)
	at metabase.api.setup$fn__77068.invokeStatic(setup.clj:177)
	at metabase.api.setup$fn__77068.invoke(setup.clj:171)
	at compojure.core$wrap_response$fn__28102.invoke(core.clj:160)
	at compojure.core$wrap_route_middleware$fn__28086.invoke(core.clj:132)
	at compojure.core$wrap_route_info$fn__28091.invoke(core.clj:139)
	at compojure.core$wrap_route_matches$fn__28095.invoke(core.clj:151)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$wrap_route_matches$fn__28095.invoke(core.clj:152)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$wrap_route_matches$fn__28095.invoke(core.clj:153)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114.invoke(core.clj:200)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114.invoke(core.clj:200)
	at compojure.core$make_context$handler__28142.invoke(core.clj:289)
	at compojure.core$make_context$fn__28146.invoke(core.clj:299)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$make_context$fn__28146.invoke(core.clj:300)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at metabase.api.routes$fn__79953$fn__79956.invoke(routes.clj:60)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114.invoke(core.clj:200)
	at clojure.lang.AFn.applyToHelper(AFn.java:160)
	at clojure.lang.AFn.applyTo(AFn.java:144)
	at clojure.core$apply.invokeStatic(core.clj:667)
	at clojure.core$apply.invoke(core.clj:662)
	at metabase.server.routes$fn__80108$fn__80109.doInvoke(routes.clj:67)
	at clojure.lang.RestFn.invoke(RestFn.java:436)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114.invoke(core.clj:200)
	at compojure.core$make_context$handler__28142.invoke(core.clj:289)
	at compojure.core$make_context$fn__28146.invoke(core.clj:299)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$wrap_route_matches$fn__28095.invoke(core.clj:153)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$wrap_route_matches$fn__28095.invoke(core.clj:153)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at compojure.core$wrap_route_matches$fn__28095.invoke(core.clj:153)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114$f__28115$respond_SINGLEQUOTE___28116.invoke(core.clj:197)
	at metabase.server.routes$fn__80094$fn__80096.invoke(routes.clj:45)
	at compojure.core$routes$fn__28114$f__28115.invoke(core.clj:198)
	at compojure.core$routes$fn__28114.invoke(core.clj:200)
	at metabase.server.middleware.exceptions$catch_uncaught_exceptions$fn__76842.invoke(exceptions.clj:98)
	at metabase.server.middleware.exceptions$catch_api_exceptions$fn__76839.invoke(exceptions.clj:86)
	at metabase.server.middleware.log$log_api_call$fn__81520$fn__81521$fn__81522.invoke(log.clj:211)
	at metabase.driver.sql_jdbc.execute.diagnostic$do_with_diagnostic_info.invokeStatic(diagnostic.clj:15)
	at metabase.driver.sql_jdbc.execute.diagnostic$do_with_diagnostic_info.invoke(diagnostic.clj:9)
	at metabase.server.middleware.log$log_api_call$fn__81520$fn__81521.invoke(log.clj:203)
	at toucan.db$_do_with_call_counting.invokeStatic(db.clj:236)
	at toucan.db$_do_with_call_counting.invoke(db.clj:229)
	at metabase.server.middleware.log$log_api_call$fn__81520.invoke(log.clj:202)
	at metabase.server.middleware.browser_cookie$ensure_browser_id_cookie$fn__84620.invoke(browser_cookie.clj:38)
	at metabase.server.middleware.security$add_security_headers$fn__62357.invoke(security.clj:149)
	at metabase.server.middleware.json$wrap_json_body$fn__83578.invoke(json.clj:63)
	at metabase.server.middleware.json$wrap_streamed_json_response$fn__83596.invoke(json.clj:99)
	at metabase.server.middleware.offset_paging$handle_paging$fn__62381.invoke(offset_paging.clj:42)
	at ring.middleware.keyword_params$wrap_keyword_params$fn__84887.invoke(keyword_params.clj:55)
	at ring.middleware.params$wrap_params$fn__84906.invoke(params.clj:77)
	at metabase.server.middleware.misc$maybe_set_site_url$fn__35786.invoke(misc.clj:59)
	at metabase.server.middleware.session$reset_session_timeout$fn__47478.invoke(session.clj:377)
	at metabase.server.middleware.session$bind_current_user$fn__47461$fn__47462.invoke(session.clj:313)
	at metabase.server.middleware.session$do_with_current_user.invokeStatic(session.clj:292)
	at metabase.server.middleware.session$do_with_current_user.invoke(session.clj:281)
	at metabase.server.middleware.session$bind_current_user$fn__47461.invoke(session.clj:312)
	at metabase.server.middleware.session$wrap_current_user_info$fn__47443.invoke(session.clj:262)
	at metabase.server.middleware.session$wrap_session_id$fn__47427.invoke(session.clj:195)
	at metabase.server.middleware.auth$wrap_api_key$fn__68972.invoke(auth.clj:27)
	at ring.middleware.cookies$wrap_cookies$fn__84807.invoke(cookies.clj:216)
	at metabase.server.middleware.misc$add_content_type$fn__35769.invoke(misc.clj:27)
	at metabase.server.middleware.misc$disable_streaming_buffering$fn__35794.invoke(misc.clj:76)
	at ring.middleware.gzip$wrap_gzip$fn__84849.invoke(gzip.clj:86)
	at metabase.server.middleware.misc$bind_request$fn__35797.invoke(misc.clj:93)
	at metabase.server.middleware.ssl$redirect_to_https_middleware$fn__84636.invoke(ssl.clj:38)
	at metabase.server$async_proxy_handler$fn__80316.invoke(server.clj:73)
	at metabase.server.proxy$org.eclipse.jetty.server.handler.AbstractHandler$ff19274a.handle(Unknown Source)
	at org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:181)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
	at org.eclipse.jetty.server.Server.handle(Server.java:516)
	at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:487)
	at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:732)
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:479)
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277)
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
	at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:409)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034)
	at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.util.concurrent.TimeoutException: Timed out after 10.0 s
	at metabase.util$deref_with_timeout.invokeStatic(util.clj:332)
	at metabase.util$deref_with_timeout.invoke(util.clj:324)
	at metabase.util$do_with_timeout.invokeStatic(util.clj:339)
	at metabase.util$do_with_timeout.invoke(util.clj:335)
	at metabase.driver.util$can_connect_with_details_QMARK_.invokeStatic(util.clj:137)
	... 190 more
2022-11-21 09:12:18,331 DEBUG middleware.log :: POST /api/setup/validate 400 10.0 s (1 DB calls) 
{:message "Timed out after 10.0 s"}


And there is nothing in my mongo db logs related to metabase accessing the mongo DB. I am running both metabase and mongo DB on my local machine for debugging this issue.

I am able to connect to Mongo DB from other clients including mongosh, mongo compass and other python applications.

Please let me know if any other info is needed, kindly help me out here.

Thanks again,
Sai.

@sai_s It's just doing a timeout, which is normally caused by wrong host, port or firewall. If there's no logs of Metabase even being able to connect to Mongo, then it's a network problem.

@flamber Thank you for the help, I finally got Metabase working, below are the problems and details of the solution.

Problem 1 - Mongo DB Version
The Mongo DB v6.x.x did not work with Metabase even if the network was reachable. I changed to Mongo DB v3.x and it worked smooth

Problem 2 - AWS ECS Elastic IP

I use metabhase docker image on AWS ECS containers. When I added the Metabase load balancer IP to the whitelisted IPs in Mongo DB security groups, it did not work, as @flamber rightly mentioned it was a network issue. But there was no way to whitelist the ECS as every time a container goes down and another one comes up, the IP gets changed and it is impossible to have a single whitelisted IP working to connect to Mongo DB from Metabase since the ELB controls only inbound but not outbound traffic. So for this reason, an elastic IP was configured for ECS containers and this solved the problem.

I hope this helps someone with a similar problem.

Thank you again @flamber for your swift responses.