evosec/metabase-firebird-driver

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

Closed this issue · 4 comments

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!

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

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.

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

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 :)