crate: crate 2.3.3 does not work with metabase
CrateDB version: 2.3.3
JVM version: docker
OS version / environment description: docker
Problem description:
Metabase failed to sync table of crate 2.3.3.
02-27 23:22:29 ERROR sync.util :: Error syncing fields for Table 150 'sys.summits': ERROR: SQLParseException: Cannot cast constraint_name to type [undefined_table, undefined_set, undefined_array]
("driver.crate$add_table_pks.invokeStatic(crate.clj:79)"
"driver.crate$add_table_pks.invoke(crate.clj:77)"
"driver.crate$describe_table.invokeStatic(crate.clj:94)"
"driver.crate$describe_table.invoke(crate.clj:89)"
"driver$fn__25511$G__25367__25520.invoke(driver.clj:51)"
"sync.fetch_metadata$fn__35668$table_metadata__35673$fn__35674.invoke(fetch_metadata.clj:18)"
"sync.fetch_metadata$fn__35668$table_metadata__35673.invoke(fetch_metadata.clj:15)"
"sync.sync_metadata.fields$fn__36229$db_metadata__36234$fn__36235.invoke(fields.clj:294)"
"sync.sync_metadata.fields$fn__36229$db_metadata__36234.invoke(fields.clj:290)"
"sync.sync_metadata.fields$fn__36257$sync_fields_for_table_BANG___36266$fn__36269$fn__36270.invoke(fields.clj:307)"
"sync.util$do_with_error_handling.invokeStatic(util.clj:124)"
"sync.util$do_with_error_handling.invoke(util.clj:119)"
"sync.sync_metadata.fields$fn__36257$sync_fields_for_table_BANG___36266$fn__36269.invoke(fields.clj:306)"
"sync.sync_metadata.fields$fn__36257$sync_fields_for_table_BANG___36266.invoke(fields.clj:301)"
"sync.sync_metadata.fields$fn__36295$sync_fields_BANG___36300$fn__36301.invoke(fields.clj:318)"
"sync.sync_metadata.fields$fn__36295$sync_fields_BANG___36300.invoke(fields.clj:314)"
"sync.sync_metadata$fn__36864$sync_db_metadata_BANG___36869$fn__36870$fn__36871.invoke(sync_metadata.clj:28)"
"sync.util$do_with_error_handling.invokeStatic(util.clj:124)"
"sync.util$do_with_error_handling.invoke(util.clj:119)"
"sync.util$do_with_error_handling.invokeStatic(util.clj:122)"
"sync.util$do_with_error_handling.invoke(util.clj:119)"
"driver$fn__25602.invokeStatic(driver.clj:226)"
"driver$fn__25602.invoke(driver.clj:226)"
"driver$fn__25526$G__25357__25535.invoke(driver.clj:51)"
"sync.util$sync_in_context$fn__34128.invoke(util.clj:115)"
"sync.util$with_db_logging_disabled$fn__34125.invoke(util.clj:106)"
"sync.util$with_start_and_finish_logging$fn__34120.invoke(util.clj:92)"
"sync.util$with_sync_events$fn__34117.invoke(util.clj:75)"
"sync.util$with_duplicate_ops_prevented$fn__34108.invoke(util.clj:54)"
"sync.util$do_sync_operation.invokeStatic(util.clj:142)"
"sync.util$do_sync_operation.invoke(util.clj:139)"
"sync.sync_metadata$fn__36864$sync_db_metadata_BANG___36869$fn__36870.invoke(sync_metadata.clj:23)"
"sync.sync_metadata$fn__36864$sync_db_metadata_BANG___36869.invoke(sync_metadata.clj:20)"
"api.database$fn__37519$fn__37520$fn__37521.invoke(database.clj:505)")
02-27 23:22:29 ERROR sync.util :: Error syncing fields for Table 151 'sys.snapshots': ERROR: SQLParseException: Cannot cast constraint_name to type [undefined_table, undefined_set, undefined_array]
("driver.crate$add_table_pks.invokeStatic(crate.clj:79)"
"driver.crate$add_table_pks.invoke(crate.clj:77)"
"driver.crate$describe_table.invokeStatic(crate.clj:94)"
"driver.crate$describe_table.invoke(crate.clj:89)"
"driver$fn__25511$G__25367__25520.invoke(driver.clj:51)"
"sync.fetch_metadata$fn__35668$table_metadata__35673$fn__35674.invoke(fetch_metadata.clj:18)"
"sync.fetch_metadata$fn__35668$table_metadata__35673.invoke(fetch_metadata.clj:15)"
"sync.sync_metadata.fields$fn__36229$db_metadata__36234$fn__36235.invoke(fields.clj:294)"
"sync.sync_metadata.fields$fn__36229$db_metadata__36234.invoke(fields.clj:290)"
"sync.sync_metadata.fields$fn__36257$sync_fields_for_table_BANG___36266$fn__36269$fn__36270.invoke(fields.clj:307)"
"sync.util$do_with_error_handling.invokeStatic(util.clj:124)"
"sync.util$do_with_error_handling.invoke(util.clj:119)"
"sync.sync_metadata.fields$fn__36257$sync_fields_for_table_BANG___36266$fn__36269.invoke(fields.clj:306)"
"sync.sync_metadata.fields$fn__36257$sync_fields_for_table_BANG___36266.invoke(fields.clj:301)"
"sync.sync_metadata.fields$fn__36295$sync_fields_BANG___36300$fn__36301.invoke(fields.clj:318)"
"sync.sync_metadata.fields$fn__36295$sync_fields_BANG___36300.invoke(fields.clj:314)"
"sync.sync_metadata$fn__36864$sync_db_metadata_BANG___36869$fn__36870$fn__36871.invoke(sync_metadata.clj:28)"
"sync.util$do_with_error_handling.invokeStatic(util.clj:124)"
"sync.util$do_with_error_handling.invoke(util.clj:119)"
"sync.util$do_with_error_handling.invokeStatic(util.clj:122)"
"sync.util$do_with_error_handling.invoke(util.clj:119)"
"driver$fn__25602.invokeStatic(driver.clj:226)"
"driver$fn__25602.invoke(driver.clj:226)"
"driver$fn__25526$G__25357__25535.invoke(driver.clj:51)"
"sync.util$sync_in_context$fn__34128.invoke(util.clj:115)"
"sync.util$with_db_logging_disabled$fn__34125.invoke(util.clj:106)"
"sync.util$with_start_and_finish_logging$fn__34120.invoke(util.clj:92)"
"sync.util$with_sync_events$fn__34117.invoke(util.clj:75)"
"sync.util$with_duplicate_ops_prevented$fn__34108.invoke(util.clj:54)"
"sync.util$do_sync_operation.invokeStatic(util.clj:142)"
"sync.util$do_sync_operation.invoke(util.clj:139)"
"sync.sync_metadata$fn__36864$sync_db_metadata_BANG___36869$fn__36870.invoke(sync_metadata.clj:23)"
"sync.sync_metadata$fn__36864$sync_db_metadata_BANG___36869.invoke(sync_metadata.clj:20)"
"api.database$fn__37519$fn__37520$fn__37521.invoke(database.clj:505)")
02-27 23:22:29 INFO sync.util :: FINISHED: Sync metadata for crate Database 4 'test-crate-2.3.3' (1 s)
Steps to reproduce:
It’s easy to reproduce, even without a user-defined table in crate, system table is enough to reproduce.
$ docker pull crate
$ docker pull metabase/metabase
$ docker run -d -p 4200:4200 -p 4300:4300 -p 5432:5432 crate --name crate -Cnetwork.host=_site_
$ docker run -d -p 3000:3000 -v ~/.metabase:/metabase-data -e "MB_DB_FILE=/metabase-data/metabase.db" --name metabase metabase/metabase
$ docker logs -f metabase
Add a crate database in metabase admin panel, and every time click Sync database schema now button from the admin panel, you can see the error log from console.
About this issue
- Original URL
- State: closed
- Created 6 years ago
- Comments: 18 (3 by maintainers)
hi @on99 unfortunately we only have the capacity to support a very few third party applications properly. Furthermore we do not have a good Clojure developer at hand at the moment, who could take over the Metabase integration. However, we are looking for someone already. If there are any good Clojure programmers reading this, please get in contact with us!