Hi there, I was trying to use 0.29.3, but it didn’t work because we’re using MongoDB and we have null values. I saw that this got fixed in the 0.30 RC, so I started using that.
It worked for a while, but then I ran a few simple queries that timed out.
I’m running the whole thing on a t2.small EC2 instance (1 vCPU, 2 GB RAM), including the database. I’m wondering if that machine doesn’t have enough RAM to run both the DB and the JVM and the metabase jar…
I’m also getting some interesting stack traces (errors / warnings) in my log file.
Error
It looks like this one is about not supporting fields with mongo type Date. Or maybe it’s because some of my fields of type Date are null.
08-07 06:50:20 e[1mERROR sync.utile[0m :: e[31mError generating fingerprint for Field 922 'trialEnds': No implementation of method: :->date of protocol: #'metabase.sync.analyze.fingerprint.fingerprinters/IDateCoercible found for class: clojure.lang.PersistentArrayMap
("sync.analyze.fingerprint.fingerprinters$fn__36669$G__36664__36674.invoke(fingerprinters.clj:147)"
"sync.analyze.fingerprint.fingerprinters$with_error_handling$fn__36646$fn__36651.invoke(fingerprinters.clj:110)"
"sync.util$do_with_error_handling.invokeStatic(util.clj:143)"
"sync.util$do_with_error_handling.invoke(util.clj:138)"
"sync.analyze.fingerprint.fingerprinters$with_error_handling$fn__36646.invoke(fingerprinters.clj:110)"
"sync.analyze.fingerprint.fingerprinters$col_wise$fn__36609$fn__36614.invoke(fingerprinters.clj:26)"
"sync.analyze.fingerprint.fingerprinters$col_wise$fn__36609.invoke(fingerprinters.clj:23)"
"sync.analyze.fingerprint$fn__40190$fingerprint_table_BANG___40195$fn__40196.invoke(fingerprint.clj:41)"
"sync.analyze.fingerprint$fn__40190$fingerprint_table_BANG___40195.invoke(fingerprint.clj:39)"
"sync.analyze.fingerprint$fn__40363$fingerprint_fields_BANG___40368$fn__40369.invoke(fingerprint.clj:160)"
"sync.analyze.fingerprint$fn__40363$fingerprint_fields_BANG___40368.invoke(fingerprint.clj:156)"
"sync.analyze.fingerprint$fn__40389$fingerprint_fields_for_db_BANG___40394$fn__40395$fn__40396$iter__40397__40401$fn__40402$fn__40403.invoke(fingerprint.clj:170)"
"sync.analyze.fingerprint$fn__40389$fingerprint_fields_for_db_BANG___40394$fn__40395$fn__40396$iter__40397__40401$fn__40402.invoke(fingerprint.clj:169)"
"sync.analyze.fingerprint$fn__40389$fingerprint_fields_for_db_BANG___40394$fn__40395$fn__40396.invoke(fingerprint.clj:169)"
"util.date$call_with_effective_timezone.invokeStatic(date.clj:82)"
"util.date$call_with_effective_timezone.invoke(date.clj:71)"
"sync.analyze.fingerprint$fn__40389$fingerprint_fields_for_db_BANG___40394$fn__40395.invoke(fingerprint.clj:168)"
"sync.analyze.fingerprint$fn__40389$fingerprint_fields_for_db_BANG___40394.invoke(fingerprint.clj:163)"
"sync.analyze$make_analyze_steps$fn__40535.invoke(analyze.clj:110)"
"sync.util$fn__35519$run_step_with_metadata__35524$fn__35528$fn__35530.invoke(util.clj:350)"
"sync.util$with_start_and_finish_logging_SINGLEQUOTE_.invokeStatic(util.clj:98)"
"sync.util$with_start_and_finish_logging_SINGLEQUOTE_.invoke(util.clj:92)"
"sync.util$with_start_and_finish_debug_logging.invokeStatic(util.clj:115)"
"sync.util$with_start_and_finish_debug_logging.invoke(util.clj:112)"
"sync.util$fn__35519$run_step_with_metadata__35524$fn__35528.invoke(util.clj:347)"
"sync.util$fn__35519$run_step_with_metadata__35524.invoke(util.clj:342)"
"sync.util$fn__35603$run_sync_operation__35608$fn__35609$fn__35610.invoke(util.clj:397)"
"sync.util$fn__35603$run_sync_operation__35608$fn__35609.invoke(util.clj:397)"
"sync.util$fn__35603$run_sync_operation__35608.invoke(util.clj:391)"
"sync.analyze$fn__40547$analyze_db_BANG___40552$fn__40553$fn__40554.invoke(analyze.clj:127)"
"sync.util$do_with_error_handling.invokeStatic(util.clj:143)"
"sync.util$do_with_error_handling.invoke(util.clj:138)"
"sync.util$do_with_error_handling.invokeStatic(util.clj:141)"
"sync.util$do_with_error_handling.invoke(util.clj:138)"
"driver.mongo$sync_in_context$f__58344__auto____59106.invoke(mongo.clj:63)"
"driver.mongo.util$_with_mongo_connection$fn__58337.invoke(util.clj:115)"
"util.ssh$with_ssh_tunnel_STAR_.invokeStatic(ssh.clj:106)"
"util.ssh$with_ssh_tunnel_STAR_.invoke(ssh.clj:91)"
"driver.mongo.util$_with_mongo_connection.invokeStatic(util.clj:94)"
"driver.mongo.util$_with_mongo_connection.invoke(util.clj:89)"
"driver.mongo$sync_in_context.invokeStatic(mongo.clj:62)"
"driver.mongo$sync_in_context.invoke(mongo.clj:61)"
"driver$fn__28237$G__28044__28246.invoke(driver.clj:57)"
"sync.util$sync_in_context$fn__35425.invoke(util.clj:134)"
"sync.util$with_db_logging_disabled$fn__35422.invoke(util.clj:125)"
"sync.util$with_start_and_finish_logging_SINGLEQUOTE_.invokeStatic(util.clj:98)"
"sync.util$with_start_and_finish_logging_SINGLEQUOTE_.invoke(util.clj:92)"
"sync.util$with_start_and_finish_logging$fn__35411.invoke(util.clj:110)"
"sync.util$with_sync_events$fn__35406.invoke(util.clj:84)"
"sync.util$with_duplicate_ops_prevented$fn__35397.invoke(util.clj:63)"
"sync.util$do_sync_operation.invokeStatic(util.clj:162)"
"sync.util$do_sync_operation.invoke(util.clj:159)"
"sync.analyze$fn__40547$analyze_db_BANG___40552$fn__40553.invoke(analyze.clj:124)"
"sync.analyze$fn__40547$analyze_db_BANG___40552.invoke(analyze.clj:119)"
"task.sync_databases.SyncAndAnalyzeDatabase.execute(sync_databases.clj:39)")
Warning #1
I’m also getting a warning while making queries, and I’m wondering if that’s why they’re failing / timing out:
08-07 06:38:40 e[1mWARN metabase.query-processore[0m :: e[31m{:status :failed,
:class java.lang.IllegalArgumentException,
:error "No implementation of method: :->lvalue of protocol: #'metabase.driver.mongo.query-processor/IField found for class: metabase.query_processor.interface.BinnedField",
:stacktrace
["driver.mongo.query_processor$fn__58555$G__58548__58560.invoke(query_processor.clj:68)"
"driver.mongo.query_processor$breakouts_and_ags__GT_projected_fields$iter__58685__58689$fn__58690$fn__58691.invoke(query_processor.clj:295)"
"driver.mongo.query_processor$breakouts_and_ags__GT_projected_fields$iter__58685__58689$fn__58690.invoke(query_processor.clj:294)"
"driver.mongo.query_processor$handle_breakout_PLUS_aggregation$iter__58750__58754$fn__58755.invoke(query_processor.clj:334)"
"driver.mongo.query_processor$handle_breakout_PLUS_aggregation.invokeStatic(query_processor.clj:334)"
"driver.mongo.query_processor$handle_breakout_PLUS_aggregation.invoke(query_processor.clj:323)"
"driver.mongo.query_processor$generate_aggregation_pipeline$fn__58806.invoke(query_processor.clj:386)"
"driver.mongo.query_processor$generate_aggregation_pipeline.invokeStatic(query_processor.clj:385)"
"driver.mongo.query_processor$generate_aggregation_pipeline.invoke(query_processor.clj:382)"
"driver.mongo.query_processor$mbql__GT_native.invokeStatic(query_processor.clj:512)"
"driver.mongo.query_processor$mbql__GT_native.invoke(query_processor.clj:506)"
"driver$fn__28157$G__28052__28164.invoke(driver.clj:57)"
"query_processor.middleware.mbql_to_native$query__GT_native_form.invokeStatic(mbql_to_native.clj:17)"
"query_processor.middleware.mbql_to_native$query__GT_native_form.invoke(mbql_to_native.clj:12)"
"query_processor.middleware.mbql_to_native$mbql__GT_native$fn__32906.invoke(mbql_to_native.clj:26)"
"query_processor.middleware.annotate_and_sort$annotate_and_sort$fn__31220.invoke(annotate_and_sort.clj:41)"
"query_processor.middleware.limit$limit$fn__32861.invoke(limit.clj:15)"
"query_processor.middleware.cumulative_aggregations$cumulative_aggregation$fn__32711.invoke(cumulative_aggregations.clj:58)"
"query_processor.middleware.cumulative_aggregations$cumulative_aggregation$fn__32711.invoke(cumulative_aggregations.clj:58)"
"query_processor.middleware.results_metadata$record_and_return_metadata_BANG_$fn__36835.invoke(results_metadata.clj:51)"
"query_processor.middleware.format_rows$format_rows$fn__32851.invoke(format_rows.clj:26)"
"query_processor.middleware.binning$update_binning_strategy$fn__31314.invoke(binning.clj:165)"
"query_processor.middleware.resolve$resolve_middleware$fn__30812.invoke(resolve.clj:445)"
"query_processor.middleware.expand$expand_middleware$fn__32591.invoke(expand.clj:607)"
"query_processor.middleware.add_row_count_and_status$add_row_count_and_status$fn__30898.invoke(add_row_count_and_status.clj:15)"
"driver.mongo$process_query_in_context$fn__59099$f__58344__auto____59101.invoke(mongo.clj:54)"
"driver.mongo.util$_with_mongo_connection$fn__58337.invoke(util.clj:115)"
"util.ssh$with_ssh_tunnel_STAR_.invokeStatic(ssh.clj:106)"
"util.ssh$with_ssh_tunnel_STAR_.invoke(ssh.clj:91)"
"driver.mongo.util$_with_mongo_connection.invokeStatic(util.clj:94)"
"driver.mongo.util$_with_mongo_connection.invoke(util.clj:89)"
"driver.mongo$process_query_in_context$fn__59099.invoke(mongo.clj:53)"
"query_processor.middleware.driver_specific$process_query_in_context$fn__32731.invoke(driver_specific.clj:12)"
"query_processor.middleware.resolve_driver$resolve_driver$fn__35378.invoke(resolve_driver.clj:15)"
"query_processor.middleware.bind_effective_timezone$bind_effective_timezone$fn__31228$fn__31229.invoke(bind_effective_timezone.clj:9)"
"util.date$call_with_effective_timezone.invokeStatic(date.clj:82)"
"util.date$call_with_effective_timezone.invoke(date.clj:71)"
"query_processor.middleware.bind_effective_timezone$bind_effective_timezone$fn__31228.invoke(bind_effective_timezone.clj:8)"
"query_processor.middleware.cache$maybe_return_cached_results$fn__31403.invoke(cache.clj:149)"
"query_processor.middleware.catch_exceptions$catch_exceptions$fn__32642.invoke(catch_exceptions.clj:58)"
"query_processor$process_query.invokeStatic(query_processor.clj:135)"
"query_processor$process_query.invoke(query_processor.clj:131)"
"query_processor$run_and_save_query_BANG_.invokeStatic(query_processor.clj:249)"
"query_processor$run_and_save_query_BANG_.invoke(query_processor.clj:243)"
"query_processor$fn__36873$process_query_and_save_execution_BANG___36878$fn__36879.invoke(query_processor.clj:289)"
"query_processor$fn__36873$process_query_and_save_execution_BANG___36878.invoke(query_processor.clj:275)"
"query_processor$fn__36897$process_query_and_save_with_max_BANG___36902$fn__36903.invoke(query_processor.clj:310)"
"query_processor$fn__36897$process_query_and_save_with_max_BANG___36902.invoke(query_processor.clj:306)"
"api.dataset$fn__43331$fn__43334.invoke(dataset.clj:45)"
"api.common$fn__20617$invoke_thunk_with_keepalive__20622$fn__20623$fn__20624.invoke(common.clj:433)"],
:query
{:type "query",
:query {:source_table 129, :breakout [["binning-strategy" ["field-id" 659] "default"]], :aggregation [["count"]]},
:parameters [],
:constraints {:max-results 10000, :max-results-bare-rows 2000},
:info
{:executed-by 1,
:context :ad-hoc,
:card-id nil,
:nested? false,
:query-hash [9, 26, -79, 2, -10, 23, -42, 62, 68, 99, -53, -102, -55, 71, 10, 1, 96, -32, -126, -47, -89, 78, 63, -128, 104, 15, 7, 123, -23, 11, 19, 39],
:query-type "MBQL"}},
:expanded-query nil}
Warning #2
Here’s another similar warning:
08-07 06:38:47 e[1mWARN metabase.query-processore[0m :: e[31mQuery failure: No implementation of method: :->lvalue of protocol: #'metabase.driver.mongo.query-processor/IField found for class: metabase.query_processor.interface.BinnedField
["query_processor$assert_query_status_successful.invokeStatic(query_processor.clj:217)"
"query_processor$assert_query_status_successful.invoke(query_processor.clj:210)"
"query_processor$run_and_save_query_BANG_.invokeStatic(query_processor.clj:250)"
"query_processor$run_and_save_query_BANG_.invoke(query_processor.clj:243)"
"query_processor$fn__36873$process_query_and_save_execution_BANG___36878$fn__36879.invoke(query_processor.clj:289)"
"query_processor$fn__36873$process_query_and_save_execution_BANG___36878.invoke(query_processor.clj:275)"
"query_processor$fn__36897$process_query_and_save_with_max_BANG___36902$fn__36903.invoke(query_processor.clj:310)"
"query_processor$fn__36897$process_query_and_save_with_max_BANG___36902.invoke(query_processor.clj:306)"
"api.dataset$fn__43331$fn__43334.invoke(dataset.clj:45)"
"api.common$fn__20617$invoke_thunk_with_keepalive__20622$fn__20623$fn__20624.invoke(common.clj:433)"]
I’m quite new to Metabase, and am not sure where to go from here. Is this a mongo-related RC bug that I should file on GitHub? Appreciate your help in advance!