evosec / metabase-firebird-driver

A plugin that allows Metabase to connect to FirebirdSQL databases.
https://github.com/metabase/metabase/
MIT License
27 stars 7 forks source link

Error running sync step - "don't now how to create ISeq" #9

Closed tomaskir closed 3 years ago

tomaskir commented 3 years ago

Hello,

Attempting to add a Firebird DB to Metabase, it seems connection is successful, but syncing tables doesn't work due to java.lang.IllegalArgumentException: Don't know how to create ISeq from: metabase.driver.sql_jdbc.sync.common$reducible_results$reify.

Here is the full stack trace from Metabase logs.

2021-01-04 20:30:41,239 INFO sync.util :: STARTING: Sync metadata for firebird Database 38 'DB_NAME_HERE'
2021-01-04 20:30:41,240 DEBUG middleware.log :: POST /api/database/38/sync_schema 200 1.7 ms (1 DB calls) App DB connections: 0/13 Jetty threads: 6/50 (3 idle, 0 queued) (140 total active threads) Queries in flight: 0 (0 queued)
2021-01-04 20:30:41,240 INFO sync.util :: STARTING: step 'sync-timezone' for firebird Database 38 'DB_NAME_HERE'
Jan 04, 2021 8:30:41 PM org.firebirdsql.logging.JulLogger warn
WARNING: WARNING: No connection character set specified (property lc_ctype, encoding, charSet or localEncoding), defaulting to character set NONE
Jan 04, 2021 8:30:41 PM org.firebirdsql.logging.JulLogger warn
WARNING: WARNING: No connection character set specified (property lc_ctype, encoding, charSet or localEncoding), defaulting to character set NONE
2021-01-04 20:30:41,404 INFO sync.util :: FINISHED: step 'sync-timezone' for firebird Database 38 'DB_NAME_HERE' (164.4 ms)
2021-01-04 20:30:41,405 INFO sync.util :: STARTING: step 'sync-tables' for firebird Database 38 'DB_NAME_HERE'
2021-01-04 20:30:41,420 ERROR sync.util :: Error running sync step
java.lang.IllegalArgumentException: Don't know how to create ISeq from: metabase.driver.sql_jdbc.sync.common$reducible_results$reify__76711
    at clojure.lang.RT.seqFrom(RT.java:557) ~[metabase.jar:?]
    at clojure.lang.RT.seq(RT.java:537) ~[metabase.jar:?]
    at clojure.lang.RT.iter(RT.java:613) ~[metabase.jar:?]
    at clojure.core.Eduction.iterator(core.clj:7685) ~[metabase.jar:?]
    at clojure.lang.RT.seqFrom(RT.java:547) ~[metabase.jar:?]
    at clojure.lang.RT.seq(RT.java:537) ~[metabase.jar:?]
    at clojure.core$seq__5402.invokeStatic(core.clj:137) ~[metabase.jar:?]
    at clojure.core$seq__5402.invoke(core.clj:137) ~[metabase.jar:?]
    at metabase.driver.firebird$post_filtered_trimmed_active_tables$iter__448__452$fn__453.invoke(firebird.clj:90) ~[firebird.metabase-driver.jar:?]
    at clojure.lang.LazySeq.sval(LazySeq.java:42) ~[metabase.jar:?]
    at clojure.lang.LazySeq.seq(LazySeq.java:51) ~[metabase.jar:?]
    at clojure.lang.RT.seq(RT.java:535) ~[metabase.jar:?]
    at clojure.core$seq__5402.invokeStatic(core.clj:137) ~[metabase.jar:?]
    at clojure.core$reduce1.invokeStatic(core.clj:930) ~[metabase.jar:?]
    at clojure.core$set.invokeStatic(core.clj:4113) ~[metabase.jar:?]
    at clojure.core$set.invoke(core.clj:4105) ~[metabase.jar:?]
    at metabase.driver.firebird$post_filtered_trimmed_active_tables.invokeStatic(firebird.clj:90) ~[firebird.metabase-driver.jar:?]
    at metabase.driver.firebird$post_filtered_trimmed_active_tables.doInvoke(firebird.clj:86) ~[firebird.metabase-driver.jar:?]
    at clojure.lang.RestFn.invoke(RestFn.java:425) ~[metabase.jar:?]
    at clojure.lang.AFn.applyToHelper(AFn.java:156) ~[metabase.jar:?]
    at clojure.lang.RestFn.applyTo(RestFn.java:132) ~[metabase.jar:?]
    at clojure.core$apply.invokeStatic(core.clj:665) ~[metabase.jar:?]
    at clojure.core$apply.invoke(core.clj:660) ~[metabase.jar:?]
    at metabase.driver.firebird$fn__463.invokeStatic(firebird.clj:96) ~[firebird.metabase-driver.jar:?]
    at metabase.driver.firebird$fn__463.doInvoke(firebird.clj:95) ~[firebird.metabase-driver.jar:?]
    at clojure.lang.RestFn.invoke(RestFn.java:421) ~[metabase.jar:?]
    at clojure.lang.MultiFn.invoke(MultiFn.java:234) ~[metabase.jar:?]
    at metabase.driver.sql_jdbc.sync.describe_database$describe_database$fn__76768.invoke(describe_database.clj:124) ~[metabase.jar:?]
    at metabase.driver.sql_jdbc.sync.describe_database$describe_database.invokeStatic(describe_database.clj:119) ~[metabase.jar:?]
    at metabase.driver.sql_jdbc.sync.describe_database$describe_database.invoke(describe_database.clj:116) ~[metabase.jar:?]
    at metabase.driver.sql_jdbc$fn__78129.invokeStatic(sql_jdbc.clj:57) ~[metabase.jar:?]
    at metabase.driver.sql_jdbc$fn__78129.invoke(sql_jdbc.clj:55) ~[metabase.jar:?]
    at clojure.lang.MultiFn.invoke(MultiFn.java:234) ~[metabase.jar:?]
    at metabase.sync.fetch_metadata$fn__58092$db_metadata__58097$fn__58098.invoke(fetch_metadata.clj:13) ~[metabase.jar:?]
    at metabase.sync.fetch_metadata$fn__58092$db_metadata__58097.invoke(fetch_metadata.clj:10) ~[metabase.jar:?]
    at metabase.sync.sync_metadata.tables$fn__59518$db_metadata__59523$fn__59524.invoke(tables.clj:146) ~[metabase.jar:?]
    at metabase.sync.sync_metadata.tables$fn__59518$db_metadata__59523.invoke(tables.clj:143) ~[metabase.jar:?]
    at metabase.sync.sync_metadata.tables$fn__59579$sync_tables_BANG___59584$fn__59585.invoke(tables.clj:163) ~[metabase.jar:?]
    at metabase.sync.sync_metadata.tables$fn__59579$sync_tables_BANG___59584.invoke(tables.clj:158) ~[metabase.jar:?]
    at metabase.sync.util$fn__40715$run_step_with_metadata__40720$fn__40724$fn__40726.invoke(util.clj:345) ~[metabase.jar:?]
    at metabase.sync.util$with_start_and_finish_logging_STAR_.invokeStatic(util.clj:102) ~[metabase.jar:?]
    at metabase.sync.util$with_start_and_finish_logging_STAR_.invoke(util.clj:96) ~[metabase.jar:?]
    at metabase.sync.util$with_start_and_finish_debug_logging.invokeStatic(util.clj:119) ~[metabase.jar:?]
    at metabase.sync.util$with_start_and_finish_debug_logging.invoke(util.clj:116) ~[metabase.jar:?]
    at metabase.sync.util$fn__40715$run_step_with_metadata__40720$fn__40724.invoke(util.clj:342) ~[metabase.jar:?]
    at metabase.sync.util$fn__40715$run_step_with_metadata__40720.invoke(util.clj:337) ~[metabase.jar:?]
    at metabase.sync.util$fn__40907$run_sync_operation__40912$fn__40913$fn__40914.invoke(util.clj:430) ~[metabase.jar:?]
    at clojure.core$mapv$fn__8445.invoke(core.clj:6912) ~[metabase.jar:?]
    at clojure.lang.PersistentVector.reduce(PersistentVector.java:343) ~[metabase.jar:?]
    at clojure.core$reduce.invokeStatic(core.clj:6827) ~[metabase.jar:?]
    at clojure.core$mapv.invokeStatic(core.clj:6903) ~[metabase.jar:?]
    at clojure.core$mapv.invoke(core.clj:6903) ~[metabase.jar:?]
    at metabase.sync.util$fn__40907$run_sync_operation__40912$fn__40913.invoke(util.clj:430) ~[metabase.jar:?]
    at metabase.sync.util$fn__40907$run_sync_operation__40912.invoke(util.clj:424) ~[metabase.jar:?]
    at metabase.sync.sync_metadata$fn__59632$sync_db_metadata_BANG___59637$fn__59638$fn__59639.invoke(sync_metadata.clj:51) ~[metabase.jar:?]
    at metabase.sync.util$do_with_error_handling.invokeStatic(util.clj:149) [metabase.jar:?]
    at metabase.sync.util$do_with_error_handling.invoke(util.clj:142) [metabase.jar:?]
    at metabase.sync.util$do_with_error_handling.invokeStatic(util.clj:145) [metabase.jar:?]
    at metabase.sync.util$do_with_error_handling.invoke(util.clj:142) [metabase.jar:?]
    at clojure.core$partial$fn__5839.invoke(core.clj:2623) [metabase.jar:?]
    at metabase.driver$fn__22482.invokeStatic(driver.clj:550) [metabase.jar:?]
    at metabase.driver$fn__22482.invoke(driver.clj:550) [metabase.jar:?]
    at clojure.lang.MultiFn.invoke(MultiFn.java:239) [metabase.jar:?]
    at metabase.sync.util$sync_in_context$fn__40627.invoke(util.clj:138) [metabase.jar:?]
    at metabase.sync.util$with_db_logging_disabled$fn__40624.invoke(util.clj:129) [metabase.jar:?]
    at metabase.sync.util$with_start_and_finish_logging_STAR_.invokeStatic(util.clj:102) [metabase.jar:?]
    at metabase.sync.util$with_start_and_finish_logging_STAR_.invoke(util.clj:96) [metabase.jar:?]
    at metabase.sync.util$with_start_and_finish_logging$fn__40613.invoke(util.clj:114) [metabase.jar:?]
    at metabase.sync.util$with_sync_events$fn__40608.invoke(util.clj:88) [metabase.jar:?]
    at metabase.sync.util$with_duplicate_ops_prevented$fn__40599.invoke(util.clj:67) [metabase.jar:?]
    at metabase.sync.util$do_sync_operation.invokeStatic(util.clj:164) [metabase.jar:?]
    at metabase.sync.util$do_sync_operation.invoke(util.clj:161) [metabase.jar:?]
    at metabase.sync.sync_metadata$fn__59632$sync_db_metadata_BANG___59637$fn__59638.invoke(sync_metadata.clj:50) [metabase.jar:?]
    at metabase.sync.sync_metadata$fn__59632$sync_db_metadata_BANG___59637.invoke(sync_metadata.clj:47) [metabase.jar:?]
    at metabase.api.database$fn__60377$fn__60379.invoke(database.clj:634) [metabase.jar:?]
    at clojure.core$binding_conveyor_fn$fn__5754.invoke(core.clj:2030) [metabase.jar:?]
    at clojure.lang.AFn.call(AFn.java:18) [metabase.jar:?]
    at java.util.concurrent.FutureTask.run(Unknown Source) [?:?]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:?]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:?]
    at java.lang.Thread.run(Unknown Source) [?:?]
2021-01-04 20:30:41,422 INFO sync.util :: FINISHED: Sync metadata for firebird Database 38 'DB_NAME_HERE' (182.0 ms)
2021-01-04 20:30:41,422 INFO sync.util :: STARTING: Analyze data for firebird Database 38 'DB_NAME_HERE'
2021-01-04 20:30:41,423 INFO sync.util :: STARTING: step 'fingerprint-fields' for firebird Database 38 'DB_NAME_HERE'
2021-01-04 20:30:41,423 INFO sync.util :: FINISHED: step 'fingerprint-fields' for firebird Database 38 'DB_NAME_HERE' (178.1 µs)
2021-01-04 20:30:41,423 INFO sync.util :: STARTING: step 'classify-fields' for firebird Database 38 'DB_NAME_HERE'
2021-01-04 20:30:41,423 INFO sync.util :: FINISHED: step 'classify-fields' for firebird Database 38 'DB_NAME_HERE' (96.9 µs)
2021-01-04 20:30:41,423 INFO sync.util :: STARTING: step 'classify-tables' for firebird Database 38 'DB_NAME_HERE'
2021-01-04 20:30:41,423 INFO sync.util :: FINISHED: step 'classify-tables' for firebird Database 38 'DB_NAME_HERE' (102.4 µs)
2021-01-04 20:30:41,426 INFO sync.util :: FINISHED: Analyze data for firebird Database 38 'DB_NAME_HERE' (3.7 ms)

Is there anything that can be done about this? I would REALLY love to run Metabase on this DB.

Thanks!

tomaskir commented 3 years ago

@Nikos410 I apologize for the direct tag - any chance for a comment on this? Thanks in advance!

AntoninoRocha commented 3 years ago

I'm going through the same difficulty, it seems like a version because the 03682 works well. if someone can help! I would like to see it working on firebird.

AntoninoRocha commented 3 years ago

firebird connects but does not show the tables inside the metabase, if any can help how to fix it.

Nikos410 commented 3 years ago

Hey everyone,

apologies for taking a while to respond. I've just release v1.3.0. That should solve this problem.

If you are still experiencing issues, feel free to reopen this issue :)