After cloning the master from github and running ‘lein ring server’ I’m getting an exception on the browser but nothing is being logged on the terminal. The exception is as follows:
{“message”:“No method in multimethod ‘connection-properties’ for dispatch value: :googleanalytics”,“type”:“class java.lang.IllegalArgumentException”,“stacktrace”:[“clojure.lang.MultiFn.getFn(MultiFn.java:156)”,“clojure.lang.MultiFn.invoke(MultiFn.java:229)”,"–> driver.util$available_drivers_info$iter__24112__24116$fn__24117.invoke(util.clj:120)",“driver.util$available_drivers_info.invokeStatic(util.clj:118)”,“driver.util$available_drivers_info.invoke(util.clj:114)”,“public_settings$public_settings.invokeStatic(public_settings.clj:223)”,“public_settings$public_settings.invoke(public_settings.clj:209)”,“routes.index$load_entrypoint_template.invokeStatic(index.clj:72)”,“routes.index$load_entrypoint_template.invoke(index.clj:69)”,“routes.index$entrypoint.invokeStatic(index.clj:93)”,“routes.index$entrypoint.invoke(index.clj:88)”,“middleware.exceptions$catch_uncaught_exceptions$fn__74752.invoke(exceptions.clj:104)”,“middleware.exceptions$catch_api_exceptions$fn__74749.invoke(exceptions.clj:92)”,“middleware.log$log_api_call$fn__75205.invoke(log.clj:162)”,“middleware.security$add_security_headers$fn__74707.invoke(security.clj:122)”,“middleware.json$wrap_json_body$fn__74992.invoke(json.clj:63)”,“middleware.json$wrap_streamed_json_response$fn__75010.invoke(json.clj:97)”,“middleware.session$bind_current_user$fn__70743$fn__70744.invoke(session.clj:209)”,“middleware.session$do_with_current_user.invokeStatic(session.clj:184)”,“middleware.session$do_with_current_user.invoke(session.clj:177)”,“middleware.session$bind_current_user$fn__70743.invoke(session.clj:208)”,“middleware.session$wrap_current_user_id$fn__70720.invoke(session.clj:161)”,“middleware.session$wrap_session_id$fn__70705.invoke(session.clj:123)”,“middleware.auth$wrap_api_key$fn__74639.invoke(auth.clj:27)”,“middleware.misc$maybe_set_site_url$fn__75240.invoke(misc.clj:56)”,“middleware.misc$bind_user_locale$fn__75243.invoke(misc.clj:72)”,“middleware.misc$add_content_type$fn__75228.invoke(misc.clj:28)”,“middleware.misc$disable_streaming_buffering$fn__75251.invoke(misc.clj:87)”]}
Hi @partoa
I would recommend that you use release-0.33.x currently - there’s a lot of timezone changes in master that are not completely finished yet.
But I’m guessing you’re trying to make a query to a GA database?
You first need to build the drivers, since lein ring server only builds the core drivers (H2, MySQL and Postgres):
Run ./bin/build-drivers.sh and then you can use lein ring server
@partoa
Could you try release-0.33.x instead - that’s the upcoming 0.33.5 release.
Your Leining version is a bit old - latest is 2.9.1
I’ve only had problems with non-Oracle Java, so I switched to Oracle 8 for building Metabase a long time ago - you can easily run Metabase on all/most of the other Java types.
As for creating your own drivers, have a look at this issue and check the comments. You might want to read some of the issues that was referenced too, since there are several drivers available, which might be a good starting point for you: https://github.com/metabase/metabase/issues/9348
Out of curiosity, which driver are you planning to build?
@partoa Okay, then I misunderstood your question - I thought you were creating a new driver.
SQLite already exists as one of the official drivers. When you build drivers, then they’ll be available in ./plugins/ (and ./resources/modules/ but I’m actually not sure which one lein ring server looks in) and Metabase will load those drivers on startup.
@partoa
Yes, because you’re building drivers together with running the development server.
But like I said earlier, just build the drivers, then run the development server.
And since you’re not planning on creating your own driver, then you just need to build the built-in drivers.