Dashboards not loading

Hello, is there any chance that there are any problems with Metabase at the moment, since my dashboards don't seem to be loading even though I had no problems at all past month that I've been using it or it is most likely just me? I'm running Metabase on Docker.

image

Hi @tautvydas.valatka
Which version of Metabase?
What do you see in the Metabase log, when this is going on?
This could be caused by the database being slow.

Version 0.33.2

Log (prob this one): [7551224b-9401-4091-837d-92a1d2252489] 2019-10-18T08:40:01+03:00 WARN metabase.query-processor.middleware.process-userland-query Query failure {:status :failed,
:class java.sql.SQLException,
:error “An SQLException was provoked by the following failure: java.lang.InterruptedException”,
:stacktrace
(“com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:118)”
“com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:77)”
“com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:74)”
“com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:694)”
“com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection(AbstractPoolBackedDataSource.java:140)”
“clojure.java.jdbc$get_connection.invokeStatic(jdbc.clj:372)”
“clojure.java.jdbc$get_connection.invoke(jdbc.clj:274)”
“clojure.java.jdbc$db_transaction_STAR_.invokeStatic(jdbc.clj:833)”
“clojure.java.jdbc$db_transaction_STAR_.invoke(jdbc.clj:769)”
“clojure.java.jdbc$db_transaction_STAR_.invokeStatic(jdbc.clj:782)”
“clojure.java.jdbc$db_transaction_STAR_.invoke(jdbc.clj:769)”
“–> driver.sql_jdbc.execute$do_in_transaction.invokeStatic(execute.clj:241)”
“driver.sql_jdbc.execute$do_in_transaction.invoke(execute.clj:240)”
“driver.sql_jdbc.execute$run_query_without_timezone.invokeStatic(execute.clj:259)”
“driver.sql_jdbc.execute$run_query_without_timezone.invoke(execute.clj:258)”
“driver.sql_jdbc.execute$execute_query$fn__66716.invoke(execute.clj:288)”
“driver.sql_jdbc.execute$do_with_try_catch.invokeStatic(execute.clj:217)”
“driver.sql_jdbc.execute$do_with_try_catch.invoke(execute.clj:211)”
“driver.sql_jdbc.execute$execute_query.invokeStatic(execute.clj:285)”
“driver.sql_jdbc.execute$execute_query.invoke(execute.clj:279)”
“driver.sql_jdbc$fn__66960.invokeStatic(sql_jdbc.clj:44)”
“driver.sql_jdbc$fn__66960.invoke(sql_jdbc.clj:43)”
“query_processor$fn__43955$execute_query__43960$fn__43961.invoke(query_processor.clj:70)”
“query_processor$fn__43955$execute_query__43960.invoke(query_processor.clj:64)”
“query_processor.middleware.mbql_to_native$mbql__GT_native$fn__34096.invoke(mbql_to_native.clj:38)”
“query_processor.middleware.annotate$result_rows_maps__GT_vectors$fn__36340.invoke(annotate.clj:540)”
“query_processor.middleware.annotate$add_column_info$fn__36246.invoke(annotate.clj:484)”
“query_processor.middleware.cumulative_aggregations$handle_cumulative_aggregations$fn__37267.invoke(cumulative_aggregations.clj:57)”
“query_processor.middleware.resolve_joins$resolve_joins$fn__41065.invoke(resolve_joins.clj:184)”
“query_processor.middleware.limit$limit$fn__38003.invoke(limit.clj:19)”
“query_processor.middleware.results_metadata$record_and_return_metadata_BANG_$fn__43824.invoke(results_metadata.clj:87)”
“query_processor.middleware.format_rows$format_rows$fn__37991.invoke(format_rows.clj:26)”
“query_processor.middleware.add_dimension_projections$add_remapping$fn__34855.invoke(add_dimension_projections.clj:232)”
“query_processor.middleware.add_source_metadata$add_source_metadata_for_source_queries$fn__35474.invoke(add_source_metadata.clj:107)”
“query_processor.middleware.resolve_source_table$resolve_source_tables$fn__41115.invoke(resolve_source_table.clj:46)”
“query_processor.middleware.add_row_count_and_status$add_row_count_and_status$fn__35334.invoke(add_row_count_and_status.clj:16)”
“query_processor.middleware.driver_specific$process_query_in_context$fn__37478.invoke(driver_specific.clj:12)”
“query_processor.middleware.resolve_driver$resolve_driver$fn__40729.invoke(resolve_driver.clj:22)”
“query_processor.middleware.bind_effective_timezone$bind_effective_timezone$fn__36669$fn__36670.invoke(bind_effective_timezone.clj:9)”
“util.date$call_with_effective_timezone.invokeStatic(date.clj:88)”
“util.date$call_with_effective_timezone.invoke(date.clj:77)”
“query_processor.middleware.bind_effective_timezone$bind_effective_timezone$fn__36669.invoke(bind_effective_timezone.clj:8)”
“query_processor.middleware.store$initialize_store$fn__43849$fn__43850.invoke(store.clj:11)”
“query_processor.store$do_with_store.invokeStatic(store.clj:46)”
“query_processor.store$do_with_store.invoke(store.clj:40)”
“query_processor.middleware.store$initialize_store$fn__43849.invoke(store.clj:10)”
“query_processor.middleware.async$async__GT_sync$fn__34007.invoke(async.clj:23)”
“query_processor.middleware.async_wait$runnable$fn__36397.invoke(async_wait.clj:89)”),
:query
{:constraints {:max-results 10000, :max-results-bare-rows 2000},
:type :native,
:middleware {:userland-query? true},
:native
{:template-tags
{“fromDate” {:id “ecb188e4-361e-ea93-ad36-1516d9715f8d”, :name “fromDate”, :display-name “Fromdate”, :type :date, :required true, :default “2019-09-01”},
“toDate” {:id “a765eb31-9899-5ebc-74a2-f9c46bfc9797”, :name “toDate”, :display-name “Todate”, :type :date, :required true, :default “2019-10-01”},
“from_account”
{:id “0cc62fef-e687-4cad-2435-7eb8dab6ce5d”,
:name “from_account”,
:display-name “From account”,
:type :dimension,
:dimension [:field-id 1287],
:widget-type :category,
:required true,
:default “Client’s account (EUR)”},
“to_account”
{:id “fb7e811f-a862-ca45-5200-67cc89ffccae”,
:name “to_account”,
:display-name “To account”,
:type :dimension,
:dimension [:field-id 1287],
:widget-type :category,
:required true,
:default “Fee account (EUR)”},
“null_variable” {:id “ebac575d-e864-ce59-32b0-3703dda04596”, :name “null_variable”, :display-name “One”, :type :text, :required false}},
:query
“with fromAccount as (select transfers.id, account_types.name as name from transfers\r\nLEFT JOIN transfer_types \r\n ON transfers.type_id = transfer_types.id \r\nLEFT JOIN account_types \r\n ON transfer_types.from_account_type_id = account_types.id \r\n where {{from_account}}),\r\n\r\ntoAccount as (select transfers.id, account_types.name as name from transfers\r\nLEFT JOIN transfer_types \r\n ON transfers.type_id = transfer_types.id \r\nLEFT JOIN account_types \r\n ON transfer_types.to_account_type_id = account_types.id\r\n where {{to_account}}),\r\npayments AS \r\n( \r\n SELECT transfers.date, \r\n CASE \r\n WHEN u1.email IS NOT NULL THEN u1.email \r\n ELSE ‘SYSTEM’ \r\n END AS from_user, \r\n CASE \r\n WHEN transactions.subclass != ‘CHARGEBACK’ THEN at1.name\r\n ELSE ‘feeAccountEur’ \r\n END AS from_user_type, \r\n CASE \r\n WHEN u2.email IS NOT NULL THEN u2.email \r\n ELSE ‘SYSTEM’ \r\n END AS to_user, \r\n cfv_payeename.string_value AS payee_name, \r\n cfv_payeeiban.string_value AS payee_iban, \r\n cfv_payername.string_value AS payer_name, \r\n cfv_payeriban.string_value AS payer_iban, \r\n cfv_code.string_value AS payment_code, \r\n CASE \r\n WHEN transactions.subclass != ‘CHARGEBACK’ THEN at2.name\r\n ELSE ‘clientsAccountEur’ \r\n END AS to_user_type, \r\n transfer_types.NAME AS transfer_type, \r\n transfer_status.NAME AS status, \r\n abs(transfers.amount) AS amount, \r\n channels.NAME AS channel, \r\n regexp_replace(cfv.text_value, ‘\r|\n’, ‘’, ‘g’) AS payment_purpose \r\n FROM transfers \r\n LEFT JOIN accounts a1 \r\n ON a1.id = transfers.from_id \r\n LEFT JOIN users u1 \r\n ON a1.user_id = u1.id \r\n LEFT JOIN accounts a2 \r\n ON a2.id = transfers.to_id \r\n LEFT JOIN users u2 \r\n ON a2.user_id = u2.id \r\n LEFT JOIN transfer_types \r\n ON transfers.type_id = transfer_types.id \r\n LEFT JOIN transfers_transfer_status_flows \r\n ON transfers.id = transfers_transfer_status_flows.transfer_id \r\n LEFT JOIN transfer_status \r\n ON transfers_transfer_status_flows.status_id = transfer_status.id \r\n INNER JOIN fromAccount at1 \r\n ON transfers.id = at1.id \r\n INNER JOIN toAccount at2 \r\n ON transfers.id = at2.id \r\n LEFT JOIN transactions \r\n ON transfers.transaction_id = transactions.id \r\n LEFT JOIN transaction_custom_field_values cfv \r\n ON cfv.field_id = 16 \r\n AND cfv.owner_id = transactions.id \r\n LEFT JOIN transaction_custom_field_values cfv_payeeiban \r\n ON cfv_payeeiban.field_id = 5 \r\n AND cfv_payeeiban.owner_id = transactions.id \r\n LEFT JOIN transaction_custom_field_values cfv_payeename \r\n ON cfv_payeename.field_id = 6 \r\n AND cfv_payeename.owner_id = transactions.id \r\n LEFT JOIN transaction_custom_field_values cfv_payeriban \r\n ON cfv_payeriban.field_id = 9 \r\n AND cfv_payeriban.owner_id = transactions.id \r\n LEFT JOIN transaction_custom_field_values cfv_payername \r\n ON cfv_payername.field_id = 8 \r\n AND cfv_payername.owner_id = transactions.id \r\n LEFT JOIN transaction_custom_field_values cfv_code \r\n ON cfv_code.field_id = 14 \r\n AND cfv_code.owner_id = transactions.id \r\n LEFT JOIN channels \r\n ON transactions.channel_id = channels.id \r\n WHERE transfers.date BETWEEN {{fromDate}}:: date AND {{toDate}}:: date),\r\n \r\n amounts as (SELECT date, \r\n CASE \r\n WHEN from_user != ‘SYSTEM’ THEN from_user \r\n ELSE to_user \r\n END AS from_to, \r\n payer_name, \r\n payer_iban, \r\n payee_name, \r\n payee_iban, \r\n payment_code, \r\n payment_purpose, \r\n amount \r\nFROM payments \r\n[[WHERE CASE WHEN {{null_variable}}=‘null’ THEN payment_code is null ELSE payment_code = {{null_variable}} END]])\r\nSELECT to_char(amounts.date, ‘YY-MM’) AS year_month, \r\n sum(amount) as sum\r\n from amounts\r\n group by year_month\r\n order by year_month”},
:info
{:executed-by 1,
:context :question,
:card-id 97,
:dashboard-id nil,
:query-hash [119, -54, -120, 33, -61, -127, -78, 76, 124, -88, -74, -102, -33, 27, 100, 127, -47, -16, 13, -38, 57, -100, -6, 116, 87, -50, -128, -111, 76, 19, -67, -32]},
:parameters
[{:type “date/single”, :target [“variable” [“template-tag” “fromDate”]], :value “2019-09-01”}
{:type “date/single”, :target [“variable” [“template-tag” “toDate”]], :value “2019-10-01”}
{:type “category”, :target [“dimension” [“template-tag” “from_account”]], :value [“Client’s account (EUR)”]}
{:type “category”, :target [“dimension” [“template-tag” “to_account”]], :value [“Fee account (EUR)”]}],
:async? true,
:cache-ttl nil},
:cause {:class java.lang.InterruptedException, :error “java.lang.InterruptedException”}}

@tautvydas.valatka Okay, that should have been fixed in 0.33.4, so upgrade to that version - remember to always backup before upgrade/downgrade.

how do I back up all the dashboards and questions so that they would be moved to a newer version?

@tautvydas.valatka
I don’t know how you’re running Metabase, but since you’re asking, then I’m guessing you’re using H2, which is not recommended.
https://www.metabase.com/docs/latest/operations-guide/migrating-from-h2.html
https://www.metabase.com/docs/latest/operations-guide/backing-up-metabase-application-data.html
Metabase automatically updates the application database on upgrade, but you should always make backups before upgrading software in case something goes wrong.