fhsgoncalves / metabase-sparksql-databricks-driver

GNU Affero General Public License v3.0
9 stars 2 forks source link

java.lang.Exception: No method in multimethod 'connection-details->spec' for dispatch value: :sparksql-databricks #3

Open lyogev opened 3 years ago

lyogev commented 3 years ago

Not able to add a database. Followed the instructions, I guess it's not working on the latest metabase

2021-05-20 14:24:44,669 ERROR api.database :: Cannot connect to Database java.lang.Exception: No method in multimethod 'connection-details->spec' for dispatch value: :sparksql-databricks at metabase.driver.util$can_connect_with_details_QMARK_.invokeStatic(util.clj:39) at metabase.driver.util$can_connect_with_details_QMARK_.doInvoke(util.clj:22) at clojure.lang.RestFn.invoke(RestFn.java:442) at metabase.api.database$test_database_connection.invokeStatic(database.clj:396) at metabase.api.database$test_database_connection.doInvoke(database.clj:386) at clojure.lang.RestFn.invoke(RestFn.java:464) at metabase.api.setup$fn__74208.invokeStatic(setup.clj:136) at metabase.api.setup$fn__74208.invoke(setup.clj:127) at compojure.core$wrap_response$fn__1996.invoke(core.clj:160) at compojure.core$wrap_route_middleware$fn__1980.invoke(core.clj:132) at compojure.core$wrap_route_info$fn__1985.invoke(core.clj:139) at compojure.core$wrap_route_matches$fn__1989.invoke(core.clj:151) at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198) at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197) at compojure.core$wrap_route_matches$fn__1989.invoke(core.clj:152) at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198) at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197) at compojure.core$wrap_route_matches$fn__1989.invoke(core.clj:153) at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198) at compojure.core$routes$fn__2008.invoke(core.clj:200) at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198) at compojure.core$routes$fn__2008.invoke(core.clj:200) at compojure.core$make_context$handler__2036.invoke(core.clj:287) at compojure.core$make_context$fn__2038.invoke(core.clj:296) at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198) at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197) at compojure.core$make_context$fn__2038.invoke(core.clj:297) at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198) at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197) at compojure.core$make_context$fn__2038.invoke(core.clj:297) at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198) at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197) at compojure.core$make_context$fn__2038.invoke(core.clj:297) at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198) at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197) at compojure.core$make_context$fn__2038.invoke(core.clj:297) at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198) at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197) at compojure.core$make_context$fn__2038.invoke(core.clj:297) at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198) at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197) at compojure.core$make_context$fn__2038.invoke(core.clj:297) at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198) at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197) at compojure.core$make_context$fn__2038.invoke(core.clj:297) at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198) at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197) at compojure.core$make_context$fn__2038.invoke(core.clj:297) at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198) at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197) at compojure.core$make_context$fn__2038.invoke(core.clj:297) at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198) at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197) at compojure.core$make_context$fn__2038.invoke(core.clj:297) at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198) at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197) at compojure.core$make_context$fn__2038.invoke(core.clj:297) at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198) at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197) at compojure.core$make_context$fn__2038.invoke(core.clj:297) at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198) at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197) at compojure.core$make_context$fn__2038.invoke(core.clj:297) at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198) at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197) at compojure.core$make_context$fn__2038.invoke(core.clj:297) at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198) at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197) at compojure.core$make_context$fn__2038.invoke(core.clj:297) at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198) at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197) at compojure.core$make_context$fn__2038.invoke(core.clj:297) at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198) at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197) at compojure.core$make_context$fn__2038.invoke(core.clj:297) at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198) at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197) at compojure.core$make_context$fn__2038.invoke(core.clj:297) at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198) at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197) at compojure.core$make_context$fn__2038.invoke(core.clj:297) at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198) at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197) at compojure.core$make_context$fn__2038.invoke(core.clj:297) at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198) at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197) at compojure.core$make_context$fn__2038.invoke(core.clj:297) at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198) at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197) at compojure.core$make_context$fn__2038.invoke(core.clj:297) at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198) at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197) at compojure.core$make_context$fn__2038.invoke(core.clj:297) at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198) at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197) at compojure.core$make_context$fn__2038.invoke(core.clj:297) at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198) at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197) at compojure.core$make_context$fn__2038.invoke(core.clj:297) at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198) at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197) at compojure.core$make_context$fn__2038.invoke(core.clj:297) at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198) at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197) at compojure.core$make_context$fn__2038.invoke(core.clj:297) at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198) at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197) at metabase.api.routes$fn__76194$fn__76196.invoke(routes.clj:70) at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198) at compojure.core$routes$fn__2008.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:665) at clojure.core$apply.invoke(core.clj:660) at metabase.server.routes$fn__78430$fn__78431.doInvoke(routes.clj:57) at clojure.lang.RestFn.invoke(RestFn.java:436) at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198) at compojure.core$routes$fn__2008.invoke(core.clj:200) at compojure.core$make_context$handler__2036.invoke(core.clj:287) at compojure.core$make_context$fn__2038.invoke(core.clj:296) at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198) at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197) at compojure.core$wrap_route_matches$fn__1989.invoke(core.clj:153) at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198) at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197) at compojure.core$wrap_route_matches$fn__1989.invoke(core.clj:153) at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198) at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197) at compojure.core$wrap_route_matches$fn__1989.invoke(core.clj:153) at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198) at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197) at metabase.server.routes$fn__78418$fn__78420.invoke(routes.clj:41) at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198) at compojure.core$routes$fn__2008.invoke(core.clj:200) at metabase.server.middleware.exceptions$catch_uncaught_exceptions$fn__76185.invoke(exceptions.clj:98) at metabase.server.middleware.exceptions$catch_api_exceptions$fn__76182.invoke(exceptions.clj:86) at metabase.server.middleware.log$log_api_call$fn__78344$fn__78345$fn__78346.invoke(log.clj:209) 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__78344$fn__78345.invoke(log.clj:201) at toucan.db$_do_with_call_counting.invokeStatic(db.clj:216) at toucan.db$_do_with_call_counting.invoke(db.clj:209) at metabase.server.middleware.log$log_api_call$fn__78344.invoke(log.clj:200) at metabase.server.middleware.browser_cookie$ensure_browser_id_cookie$fn__77963.invoke(browser_cookie.clj:30) at metabase.server.middleware.security$add_security_headers$fn__76147.invoke(security.clj:142) at metabase.server.middleware.json$wrap_json_body$fn__78108.invoke(json.clj:62) at metabase.server.middleware.json$wrap_streamed_json_response$fn__78126.invoke(json.clj:98) at ring.middleware.keyword_params$wrap_keyword_params$fn__78687.invoke(keyword_params.clj:55) at ring.middleware.params$wrap_params$fn__78703.invoke(params.clj:69) at metabase.server.middleware.misc$maybe_set_site_url$fn__35631.invoke(misc.clj:58) at metabase.server.middleware.session$bind_current_user$fn__42577$fn__42578.invoke(session.clj:248) at metabase.server.middleware.session$do_with_current_user.invokeStatic(session.clj:229) at metabase.server.middleware.session$do_with_current_user.invoke(session.clj:221) at metabase.server.middleware.session$bind_current_user$fn__42577.invoke(session.clj:247) at metabase.server.middleware.session$wrap_current_user_info$fn__42564.invoke(session.clj:207) at metabase.server.middleware.session$wrap_session_id$fn__42550.invoke(session.clj:153) at metabase.server.middleware.auth$wrap_api_key$fn__76080.invoke(auth.clj:27) at ring.middleware.cookies$wrap_cookies$fn__78607.invoke(cookies.clj:216) at metabase.server.middleware.misc$add_content_type$fn__35614.invoke(misc.clj:27) at metabase.server.middleware.misc$disable_streaming_buffering$fn__35639.invoke(misc.clj:75) at ring.middleware.gzip$wrap_gzip$fn__78649.invoke(gzip.clj:86) at metabase.server.middleware.misc$bind_request$fn__35642.invoke(misc.clj:92) at metabase.server.middleware.ssl$redirect_to_https_middleware$fn__78363.invoke(ssl.clj:38) at metabase.server$async_proxy_handler$fn__77907.invoke(server.clj:71) at metabase.server.proxy$org.eclipse.jetty.server.handler.AbstractHandler$ff19274a.handle(Unknown Source) 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:383) at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:556) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:273) 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:336) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129) at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:375) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:773) at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:905) at java.base/java.lang.Thread.run(Unknown Source) Caused by: java.lang.IllegalArgumentException: No method in multimethod 'connection-details->spec' for dispatch value: :sparksql-databricks at clojure.lang.MultiFn.getFn(MultiFn.java:156) at clojure.lang.MultiFn.invoke(MultiFn.java:233) at metabase.driver.sql_jdbc.connection$details__GT_connection_spec_for_testing_connection.invokeStatic(connection.clj:196) at metabase.driver.sql_jdbc.connection$details__GT_connection_spec_for_testing_connection.invoke(connection.clj:191) at metabase.driver.sql_jdbc.connection$can_connect_QMARK_.invokeStatic(connection.clj:209) at metabase.driver.sql_jdbc.connection$can_connect_QMARK_.invoke(connection.clj:205) at metabase.driver.sql_jdbc$fn__81306.invokeStatic(sql_jdbc.clj:35) at metabase.driver.sql_jdbc$fn__81306.invoke(sql_jdbc.clj:33) at clojure.lang.MultiFn.invoke(MultiFn.java:234) at metabase.driver.util$can_connect_with_details_QMARK_$fn__29793.invoke(util.clj:34) at metabase.util$do_with_timeout$fn__15624.invoke(util.clj:346) at clojure.core$binding_conveyor_fn$fn__5754.invoke(core.clj:2030) at clojure.lang.AFn.call(AFn.java:18) at java.base/java.util.concurrent.FutureTask.run(Unknown Source) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) ... 1 more

achamberas commented 2 years ago

getting the same error. any fix planned?