No method in multimethod 'connection-details->spec' for dispatch value snowflake

I think the plugins are replaced and updated but i am struggling to understand what i’m experiencing, as described:

  1. start by building jar from release branch
  2. download official jar as well
  3. run it and attempt to add a Snowflake database (should work)
  4. after the release branch build is complete, run it from the repo with java -jar target/uberjar/metabase.jar and attempt to add a Snowflake database (should also work)
  5. in step 3 and 4, a /plugins directory and a couple of metabase.db.* files get created. the plugins got logged as:
05-01 11:47:15 INFO metabase.plugins :: Loading plugins in /Users/jerome.truong/Applications/metabase/plugins...
Extract file /modules/sparksql.metabase-driver.jar -> /Users/jerome.truong/Applications/metabase/plugins/sparksql.metabase-driver.jar took 376.1 ms
Extract file /modules/bigquery.metabase-driver.jar -> /Users/jerome.truong/Applications/metabase/plugins/bigquery.metabase-driver.jar took 3.6 ms
Extract file /modules/sqlserver.metabase-driver.jar -> /Users/jerome.truong/Applications/metabase/plugins/sqlserver.metabase-driver.jar took 7.0 ms
...
Extract file /modules/snowflake.metabase-driver.jar -> /Users/jerome.truong/Applications/metabase/plugins/snowflake.metabase-driver.jar took 148.7 ms
Extract file /modules/googleanalytics.metabase-driver.jar -> /Users/jerome.truong/Applications/metabase/plugins/googleanalytics.metabase-driver.jar took 4.4 ms
  1. i see that gets logged and the /plugins folder gets updated each time i switch between the two jars, still in the same directory. so if i ran java -jar ~/Downloads/metabase.jar from the repo root, /plugins get updated, and because the metabase.db.* files also exists, i can view the Snowflake database info i entered, previously. I can edit and save, no issue.
  2. now here’s where things break; i run yarn dev from the repo and i can no longer save or add a Snowflake database. There were no discerning differences with the relevant drivers between the result of yarn dev and the built jar.
  3. if i run either jar from this tainted directory, when neither had issues with the Snowflake driver before, they both have it now. Removing/recreating /plugins/ and /metabase.db.* had no effect.
  4. rebuilding fixes the issue

I had to stop there, but let me know if you have an idea or something i can try that might hint at a solution. I’m no longer blocked since simply using the jar suffices. Thanks for your help.

@jtruong It’s so strange what happens in 8). Specially that even if you remove drivers, which means the JAR should self-extract, but it’s still broken.
There was a fix the other day, which involves how drivers are handled (or actually; how they weren’t handled) during lein run - by the way, I’ve never used yarn dev, I prefer to manually run each in their own terminal (old habits die hard).
I have a sneaky suspicion that it has something to do with your issue (note that the PR was added to master, not release-0.35.x)
https://github.com/metabase/metabase/pull/12436

i might give that a try later today.

@flamber, running yarn dev from the master branch does in fact solve the missing driver issue. I did not quite understand the concept of profiles, but i did not notice an infinite loop either. Anyway, it works, so i expect it will be part of the next release :slight_smile: have a great rest of the week!

@jtruong Don’t think it will be part of next release, but likely 0.36.0. I’m just adding that as a comment to the issue and closing it.