Timestamp errors
I'm not sure if this is related to issue 38 so I thought I'd post a new one.
Full disclosure: I'm more of an Ops guy, I've started up a container of Metabase and included the Athena driver. I have a Glue Crawler that looks at an S3 RDS MySQL export (Parquet format) and then populates the Athena DB schema. This appears to be ok, however, when I try to explore tables in Metabase, a lot of them throw up an error:
[JDBC Driver]Timestamp format must be yyyy-mm-dd hh:mm:ss[.fffffffff]
Stacktrace shows:
25/04/2020 09:29:1304-25 08:29:13 ERROR middleware.catch-exceptions :: Error processing query: null
25/04/2020 09:29:13{:database_id 2,
25/04/2020 09:29:13 :started_at (t/zoned-date-time "2020-04-25T08:29:06.589055Z[GMT]"),
25/04/2020 09:29:13 :via
25/04/2020 09:29:13 [{:status :failed,
25/04/2020 09:29:13 :class java.sql.SQLException,
25/04/2020 09:29:13 :error "[JDBC Driver]Timestamp format must be yyyy-mm-dd hh:mm:ss[.fffffffff]",
25/04/2020 09:29:13 :stacktrace
25/04/2020 09:29:13 ["java.sql/java.sql.Timestamp.valueOf(Unknown Source)"
25/04/2020 09:29:13 "com.simba.athena.athena.dataengine.AJBaseResultSet.getData(Unknown Source)"
25/04/2020 09:29:13 "com.simba.athena.jdbc.common.SForwardResultSet.getData(Unknown Source)"
25/04/2020 09:29:13 "com.simba.athena.jdbc.common.SForwardResultSet.getString(Unknown Source)"
25/04/2020 09:29:13 "com.mchange.v2.c3p0.impl.NewProxyResultSet.getString(NewProxyResultSet.java:4189)"
25/04/2020 09:29:13 "--> driver.sql_jdbc.execute.legacy_impl$fn__72760$fn__72761.invoke(legacy_impl.clj:77)"
25/04/2020 09:29:13 "driver.sql_jdbc.execute$row_thunk$row_thunk_STAR___70724.invoke(execute.clj:348)"
25/04/2020 09:29:13 "query_processor.reducible$reducible_rows$reify__37968.reduce(reducible.clj:156)"
25/04/2020 09:29:13 "query_processor.context.default$default_reducef$fn__37866.invoke(default.clj:59)"
25/04/2020 09:29:13 "query_processor.context.default$default_reducef.invokeStatic(default.clj:58)"
25/04/2020 09:29:13 "query_processor.context.default$default_reducef.invoke(default.clj:49)"
25/04/2020 09:29:13 "query_processor.context$reducef.invokeStatic(context.clj:69)"
25/04/2020 09:29:13 "query_processor.context$reducef.invoke(context.clj:62)"
25/04/2020 09:29:13 "query_processor.context.default$default_runf$respond_STAR___37870.invoke(default.clj:70)"
25/04/2020 09:29:13 "driver.sql_jdbc.execute$execute_reducible_query.invokeStatic(execute.clj:392)"
25/04/2020 09:29:13 "driver.sql_jdbc.execute$execute_reducible_query.invoke(execute.clj:377)"
25/04/2020 09:29:13 "driver.sql_jdbc$fn__72711.invokeStatic(sql_jdbc.clj:50)"
25/04/2020 09:29:13 "driver.sql_jdbc$fn__72711.invoke(sql_jdbc.clj:48)"
25/04/2020 09:29:13 "driver.athena$fn__609.invokeStatic(athena.clj:273)"
25/04/2020 09:29:13 "driver.athena$fn__609.invoke(athena.clj:271)"
25/04/2020 09:29:13 "query_processor.context$executef.invokeStatic(context.clj:59)"
25/04/2020 09:29:13 "query_processor.context$executef.invoke(context.clj:48)"
25/04/2020 09:29:13 "query_processor.context.default$default_runf.invokeStatic(default.clj:69)"
25/04/2020 09:29:13 "query_processor.context.default$default_runf.invoke(default.clj:67)"
25/04/2020 09:29:13 "query_processor.context$runf.invokeStatic(context.clj:45)"
25/04/2020 09:29:13 "query_processor.context$runf.invoke(context.clj:39)"
25/04/2020 09:29:13 "query_processor.reducible$pivot.invokeStatic(reducible.clj:34)"
25/04/2020 09:29:13 "query_processor.reducible$pivot.invoke(reducible.clj:31)"
25/04/2020 09:29:13 "query_processor.middleware.mbql_to_native$mbql__GT_native$fn__43003.invoke(mbql_to_native.clj:26)"
25/04/2020 09:29:13 "query_processor.middleware.check_features$check_features$fn__42317.invoke(check_features.clj:42)"
25/04/2020 09:29:13 "query_processor.middleware.optimize_datetime_filters$optimize_datetime_filters$fn__43168.invoke(optimize_datetime_filters.clj:133)"
25/04/2020 09:29:13 "query_processor.middleware.wrap_value_literals$wrap_value_literals$fn__47065.invoke(wrap_value_literals.clj:137)"
25/04/2020 09:29:13 "query_processor.middleware.annotate$add_column_info$fn__40946.invoke(annotate.clj:577)"
25/04/2020 09:29:13 "query_processor.middleware.permissions$check_query_permissions$fn__42192.invoke(permissions.clj:64)"
25/04/2020 09:29:13 "query_processor.middleware.pre_alias_aggregations$pre_alias_aggregations$fn__43667.invoke(pre_alias_aggregations.clj:40)"
25/04/2020 09:29:13 "query_processor.middleware.cumulative_aggregations$handle_cumulative_aggregations$fn__42390.invoke(cumulative_aggregations.clj:61)"
25/04/2020 09:29:13 "query_processor.middleware.resolve_joins$resolve_joins$fn__44199.invoke(resolve_joins.clj:183)"
25/04/2020 09:29:13 "query_processor.middleware.add_implicit_joins$add_implicit_joins$fn__39133.invoke(add_implicit_joins.clj:245)"
25/04/2020 09:29:13 "query_processor.middleware.limit$limit$fn__42989.invoke(limit.clj:38)"
25/04/2020 09:29:13 "query_processor.middleware.format_rows$format_rows$fn__42970.invoke(format_rows.clj:81)"
25/04/2020 09:29:13 "query_processor.middleware.desugar$desugar$fn__42456.invoke(desugar.clj:22)"
25/04/2020 09:29:13 "query_processor.middleware.binning$update_binning_strategy$fn__41490.invoke(binning.clj:229)"
25/04/2020 09:29:13 "query_processor.middleware.resolve_fields$resolve_fields$fn__41998.invoke(resolve_fields.clj:24)"
25/04/2020 09:29:13 "query_processor.middleware.add_dimension_projections$add_remapping$fn__38669.invoke(add_dimension_projections.clj:272)"
25/04/2020 09:29:13 "query_processor.middleware.add_implicit_clauses$add_implicit_clauses$fn__38889.invoke(add_implicit_clauses.clj:147)"
25/04/2020 09:29:13 "query_processor.middleware.add_source_metadata$add_source_metadata_for_source_queries$fn__39282.invoke(add_source_metadata.clj:105)"
25/04/2020 09:29:13 "query_processor.middleware.reconcile_breakout_and_order_by_bucketing$reconcile_breakout_and_order_by_bucketing$fn__43864.invoke(reconcile_breakout_and_order_by_bucketing.clj:98)"
25/04/2020 09:29:13 "query_processor.middleware.auto_bucket_datetimes$auto_bucket_datetimes$fn__41131.invoke(auto_bucket_datetimes.clj:125)"
25/04/2020 09:29:13 "query_processor.middleware.resolve_source_table$resolve_source_tables$fn__42045.invoke(resolve_source_table.clj:46)"
25/04/2020 09:29:13 "query_processor.middleware.parameters$substitute_parameters$fn__43649.invoke(parameters.clj:97)"
25/04/2020 09:29:13 "query_processor.middleware.resolve_referenced$resolve_referenced_card_resources$fn__42097.invoke(resolve_referenced.clj:80)"
25/04/2020 09:29:13 "query_processor.middleware.expand_macros$expand_macros$fn__42712.invoke(expand_macros.clj:158)"
25/04/2020 09:29:13 "query_processor.middleware.add_timezone_info$add_timezone_info$fn__39313.invoke(add_timezone_info.clj:15)"
25/04/2020 09:29:13 "query_processor.middleware.splice_params_in_response$splice_params_in_response$fn__46949.invoke(splice_params_in_response.clj:32)"
25/04/2020 09:29:13 "query_processor.middleware.resolve_database_and_driver$resolve_database_and_driver$fn__43875$fn__43879.invoke(resolve_database_and_driver.clj:33)"
25/04/2020 09:29:13 "driver$do_with_driver.invokeStatic(driver.clj:61)"
25/04/2020 09:29:13 "driver$do_with_driver.invoke(driver.clj:57)"
25/04/2020 09:29:13 "query_processor.middleware.resolve_database_and_driver$resolve_database_and_driver$fn__43875.invoke(resolve_database_and_driver.clj:27)"
25/04/2020 09:29:13 "query_processor.middleware.fetch_source_query$resolve_card_id_source_tables$fn__42918.invoke(fetch_source_query.clj:243)"
25/04/2020 09:29:13 "query_processor.middleware.store$initialize_store$fn__46958$fn__46959.invoke(store.clj:11)"
25/04/2020 09:29:13 "query_processor.store$do_with_store.invokeStatic(store.clj:46)"
25/04/2020 09:29:13 "query_processor.store$do_with_store.invoke(store.clj:40)"
25/04/2020 09:29:13 "query_processor.middleware.store$initialize_store$fn__46958.invoke(store.clj:10)"
25/04/2020 09:29:13 "query_processor.middleware.cache$maybe_return_cached_results$fn__41974.invoke(cache.clj:208)"
25/04/2020 09:29:13 "query_processor.middleware.validate$validate_query$fn__46967.invoke(validate.clj:10)"
25/04/2020 09:29:13 "query_processor.middleware.normalize_query$normalize$fn__43016.invoke(normalize_query.clj:22)"
25/04/2020 09:29:13 "query_processor.middleware.add_rows_truncated$add_rows_truncated$fn__39151.invoke(add_rows_truncated.clj:36)"
25/04/2020 09:29:13 "query_processor.middleware.results_metadata$record_and_return_metadata_BANG_$fn__46934.invoke(results_metadata.clj:128)"
25/04/2020 09:29:13 "query_processor.middleware.constraints$add_default_userland_constraints$fn__42333.invoke(constraints.clj:42)"
25/04/2020 09:29:13 "query_processor.middleware.process_userland_query$process_userland_query$fn__43738.invoke(process_userland_query.clj:136)"
25/04/2020 09:29:13 "query_processor.middleware.catch_exceptions$catch_exceptions$fn__42276.invoke(catch_exceptions.clj:174)"
25/04/2020 09:29:13 "query_processor.reducible$async_qp$qp_STAR___37952$thunk__37953.invoke(reducible.clj:101)"
25/04/2020 09:29:13 "query_processor.reducible$async_qp$qp_STAR___37952.invoke(reducible.clj:107)"
25/04/2020 09:29:13 "query_processor.reducible$sync_qp$qp_STAR___37961$fn__37964.invoke(reducible.clj:133)"
25/04/2020 09:29:13 "query_processor.reducible$sync_qp$qp_STAR___37961.invoke(reducible.clj:132)"
25/04/2020 09:29:13 "query_processor$process_userland_query.invokeStatic(query_processor.clj:218)"
25/04/2020 09:29:13 "query_processor$process_userland_query.doInvoke(query_processor.clj:214)"
25/04/2020 09:29:13 "query_processor$fn__47133$process_query_and_save_execution_BANG___47142$fn__47145.invoke(query_processor.clj:233)"
25/04/2020 09:29:13 "query_processor$fn__47133$process_query_and_save_execution_BANG___47142.invoke(query_processor.clj:225)"
25/04/2020 09:29:13 "query_processor$fn__47177$process_query_and_save_with_max_results_constraints_BANG___47186$fn__47189.invoke(query_processor.clj:245)"
25/04/2020 09:29:13 "query_processor$fn__47177$process_query_and_save_with_max_results_constraints_BANG___47186.invoke(query_processor.clj:238)"
25/04/2020 09:29:13 "api.dataset$fn__50475$fn__50478.invoke(dataset.clj:52)"
25/04/2020 09:29:13 "query_processor.streaming$streaming_response_STAR_$fn__33990$fn__33991.invoke(streaming.clj:73)"
25/04/2020 09:29:13 "query_processor.streaming$streaming_response_STAR_$fn__33990.invoke(streaming.clj:72)"
25/04/2020 09:29:13 "async.streaming_response$do_f_STAR_.invokeStatic(streaming_response.clj:66)"
25/04/2020 09:29:13 "async.streaming_response$do_f_STAR_.invoke(streaming_response.clj:64)"
25/04/2020 09:29:13 "async.streaming_response$do_f_async$fn__23079.invoke(streaming_response.clj:85)"],
25/04/2020 09:29:13 :state "HY000"}
25/04/2020 09:29:13 {:status :failed,
25/04/2020 09:29:13 :class clojure.lang.ExceptionInfo,
25/04/2020 09:29:13 :error "Error reducing result rows",
25/04/2020 09:29:13 :stacktrace
25/04/2020 09:29:13 ["--> query_processor.context.default$default_reducef$fn__37866.invoke(default.clj:61)"
25/04/2020 09:29:13 "query_processor.context.default$default_reducef.invokeStatic(default.clj:58)"
25/04/2020 09:29:13 "query_processor.context.default$default_reducef.invoke(default.clj:49)"
25/04/2020 09:29:13 "query_processor.context$reducef.invokeStatic(context.clj:69)"
25/04/2020 09:29:13 "query_processor.context$reducef.invoke(context.clj:62)"
25/04/2020 09:29:13 "query_processor.context.default$default_runf$respond_STAR___37870.invoke(default.clj:70)"
25/04/2020 09:29:13 "driver.sql_jdbc.execute$execute_reducible_query.invokeStatic(execute.clj:392)"
25/04/2020 09:29:13 "driver.sql_jdbc.execute$execute_reducible_query.invoke(execute.clj:377)"
25/04/2020 09:29:13 "driver.sql_jdbc$fn__72711.invokeStatic(sql_jdbc.clj:50)"
25/04/2020 09:29:13 "driver.sql_jdbc$fn__72711.invoke(sql_jdbc.clj:48)"
25/04/2020 09:29:13 "driver.athena$fn__609.invokeStatic(athena.clj:273)"
25/04/2020 09:29:13 "driver.athena$fn__609.invoke(athena.clj:271)"
25/04/2020 09:29:13 "query_processor.context$executef.invokeStatic(context.clj:59)"
25/04/2020 09:29:13 "query_processor.context$executef.invoke(context.clj:48)"
25/04/2020 09:29:13 "query_processor.context.default$default_runf.invokeStatic(default.clj:69)"
25/04/2020 09:29:13 "query_processor.context.default$default_runf.invoke(default.clj:67)"
25/04/2020 09:29:13 "query_processor.context$runf.invokeStatic(context.clj:45)"
25/04/2020 09:29:13 "query_processor.context$runf.invoke(context.clj:39)"
25/04/2020 09:29:13 "query_processor.reducible$pivot.invokeStatic(reducible.clj:34)"
25/04/2020 09:29:13 "query_processor.reducible$pivot.invoke(reducible.clj:31)"
25/04/2020 09:29:13 "query_processor.middleware.mbql_to_native$mbql__GT_native$fn__43003.invoke(mbql_to_native.clj:26)"
25/04/2020 09:29:13 "query_processor.middleware.check_features$check_features$fn__42317.invoke(check_features.clj:42)"
25/04/2020 09:29:13 "query_processor.middleware.optimize_datetime_filters$optimize_datetime_filters$fn__43168.invoke(optimize_datetime_filters.clj:133)"
25/04/2020 09:29:13 "query_processor.middleware.wrap_value_literals$wrap_value_literals$fn__47065.invoke(wrap_value_literals.clj:137)"
25/04/2020 09:29:13 "query_processor.middleware.annotate$add_column_info$fn__40946.invoke(annotate.clj:577)"
25/04/2020 09:29:13 "query_processor.middleware.permissions$check_query_permissions$fn__42192.invoke(permissions.clj:64)"
25/04/2020 09:29:13 "query_processor.middleware.pre_alias_aggregations$pre_alias_aggregations$fn__43667.invoke(pre_alias_aggregations.clj:40)"
25/04/2020 09:29:13 "query_processor.middleware.cumulative_aggregations$handle_cumulative_aggregations$fn__42390.invoke(cumulative_aggregations.clj:61)"
25/04/2020 09:29:13 "query_processor.middleware.resolve_joins$resolve_joins$fn__44199.invoke(resolve_joins.clj:183)"
25/04/2020 09:29:13 "query_processor.middleware.add_implicit_joins$add_implicit_joins$fn__39133.invoke(add_implicit_joins.clj:245)"
25/04/2020 09:29:13 "query_processor.middleware.limit$limit$fn__42989.invoke(limit.clj:38)"
25/04/2020 09:29:13 "query_processor.middleware.format_rows$format_rows$fn__42970.invoke(format_rows.clj:81)"
25/04/2020 09:29:13 "query_processor.middleware.desugar$desugar$fn__42456.invoke(desugar.clj:22)"
25/04/2020 09:29:13 "query_processor.middleware.binning$update_binning_strategy$fn__41490.invoke(binning.clj:229)"
25/04/2020 09:29:13 "query_processor.middleware.resolve_fields$resolve_fields$fn__41998.invoke(resolve_fields.clj:24)"
25/04/2020 09:29:13 "query_processor.middleware.add_dimension_projections$add_remapping$fn__38669.invoke(add_dimension_projections.clj:272)"
25/04/2020 09:29:13 "query_processor.middleware.add_implicit_clauses$add_implicit_clauses$fn__38889.invoke(add_implicit_clauses.clj:147)"
25/04/2020 09:29:13 "query_processor.middleware.add_source_metadata$add_source_metadata_for_source_queries$fn__39282.invoke(add_source_metadata.clj:105)"
25/04/2020 09:29:13 "query_processor.middleware.reconcile_breakout_and_order_by_bucketing$reconcile_breakout_and_order_by_bucketing$fn__43864.invoke(reconcile_breakout_and_order_by_bucketing.clj:98)"
25/04/2020 09:29:13 "query_processor.middleware.auto_bucket_datetimes$auto_bucket_datetimes$fn__41131.invoke(auto_bucket_datetimes.clj:125)"
25/04/2020 09:29:13 "query_processor.middleware.resolve_source_table$resolve_source_tables$fn__42045.invoke(resolve_source_table.clj:46)"
25/04/2020 09:29:13 "query_processor.middleware.parameters$substitute_parameters$fn__43649.invoke(parameters.clj:97)"
25/04/2020 09:29:13 "query_processor.middleware.resolve_referenced$resolve_referenced_card_resources$fn__42097.invoke(resolve_referenced.clj:80)"
25/04/2020 09:29:13 "query_processor.middleware.expand_macros$expand_macros$fn__42712.invoke(expand_macros.clj:158)"
25/04/2020 09:29:13 "query_processor.middleware.add_timezone_info$add_timezone_info$fn__39313.invoke(add_timezone_info.clj:15)"
25/04/2020 09:29:13 "query_processor.middleware.splice_params_in_response$splice_params_in_response$fn__46949.invoke(splice_params_in_response.clj:32)"
25/04/2020 09:29:13 "query_processor.middleware.resolve_database_and_driver$resolve_database_and_driver$fn__43875$fn__43879.invoke(resolve_database_and_driver.clj:33)"
25/04/2020 09:29:13 "driver$do_with_driver.invokeStatic(driver.clj:61)"
25/04/2020 09:29:13 "driver$do_with_driver.invoke(driver.clj:57)"
25/04/2020 09:29:13 "query_processor.middleware.resolve_database_and_driver$resolve_database_and_driver$fn__43875.invoke(resolve_database_and_driver.clj:27)"
25/04/2020 09:29:13 "query_processor.middleware.fetch_source_query$resolve_card_id_source_tables$fn__42918.invoke(fetch_source_query.clj:243)"
25/04/2020 09:29:13 "query_processor.middleware.store$initialize_store$fn__46958$fn__46959.invoke(store.clj:11)"
25/04/2020 09:29:13 "query_processor.store$do_with_store.invokeStatic(store.clj:46)"
25/04/2020 09:29:13 "query_processor.store$do_with_store.invoke(store.clj:40)"
25/04/2020 09:29:13 "query_processor.middleware.store$initialize_store$fn__46958.invoke(store.clj:10)"
25/04/2020 09:29:13 "query_processor.middleware.cache$maybe_return_cached_results$fn__41974.invoke(cache.clj:208)"
25/04/2020 09:29:13 "query_processor.middleware.validate$validate_query$fn__46967.invoke(validate.clj:10)"
25/04/2020 09:29:13 "query_processor.middleware.normalize_query$normalize$fn__43016.invoke(normalize_query.clj:22)"
25/04/2020 09:29:13 "query_processor.middleware.add_rows_truncated$add_rows_truncated$fn__39151.invoke(add_rows_truncated.clj:36)"
25/04/2020 09:29:13 "query_processor.middleware.results_metadata$record_and_return_metadata_BANG_$fn__46934.invoke(results_metadata.clj:128)"
25/04/2020 09:29:13 "query_processor.middleware.constraints$add_default_userland_constraints$fn__42333.invoke(constraints.clj:42)"
25/04/2020 09:29:13 "query_processor.middleware.process_userland_query$process_userland_query$fn__43738.invoke(process_userland_query.clj:136)"
25/04/2020 09:29:13 "query_processor.middleware.catch_exceptions$catch_exceptions$fn__42276.invoke(catch_exceptions.clj:174)"
25/04/2020 09:29:13 "query_processor.reducible$async_qp$qp_STAR___37952$thunk__37953.invoke(reducible.clj:101)"
25/04/2020 09:29:13 "query_processor.reducible$async_qp$qp_STAR___37952.invoke(reducible.clj:107)"
25/04/2020 09:29:13 "query_processor.reducible$sync_qp$qp_STAR___37961$fn__37964.invoke(reducible.clj:133)"
25/04/2020 09:29:13 "query_processor.reducible$sync_qp$qp_STAR___37961.invoke(reducible.clj:132)"
25/04/2020 09:29:13 "query_processor$process_userland_query.invokeStatic(query_processor.clj:218)"
25/04/2020 09:29:13 "query_processor$process_userland_query.doInvoke(query_processor.clj:214)"
25/04/2020 09:29:13 "query_processor$fn__47133$process_query_and_save_execution_BANG___47142$fn__47145.invoke(query_processor.clj:233)"
25/04/2020 09:29:13 "query_processor$fn__47133$process_query_and_save_execution_BANG___47142.invoke(query_processor.clj:225)"
25/04/2020 09:29:13 "query_processor$fn__47177$process_query_and_save_with_max_results_constraints_BANG___47186$fn__47189.invoke(query_processor.clj:245)"
25/04/2020 09:29:13 "query_processor$fn__47177$process_query_and_save_with_max_results_constraints_BANG___47186.invoke(query_processor.clj:238)"
25/04/2020 09:29:13 "api.dataset$fn__50475$fn__50478.invoke(dataset.clj:52)"
25/04/2020 09:29:13 "query_processor.streaming$streaming_response_STAR_$fn__33990$fn__33991.invoke(streaming.clj:73)"
25/04/2020 09:29:13 "query_processor.streaming$streaming_response_STAR_$fn__33990.invoke(streaming.clj:72)"
25/04/2020 09:29:13 "async.streaming_response$do_f_STAR_.invokeStatic(streaming_response.clj:66)"
25/04/2020 09:29:13 "async.streaming_response$do_f_STAR_.invoke(streaming_response.clj:64)"
25/04/2020 09:29:13 "async.streaming_response$do_f_async$fn__23079.invoke(streaming_response.clj:85)"],
25/04/2020 09:29:13 :error_type :qp,
25/04/2020 09:29:13 :ex-data {:type :qp}}],
25/04/2020 09:29:13 :error_type :qp,
25/04/2020 09:29:13 :json_query {:database 2, :query {:source-table 42}, :type "query", :parameters [], :middleware {:add-default-userland-constraints? true}},
25/04/2020 09:29:13 :native
25/04/2020 09:29:13 {:query
25/04/2020 09:29:13 "SELECT \"db\".\"activity_log\".\"id\" AS \"id\", \"db\".\"activity_log\".\"causer_id\" AS \"causer_id\", \"db\".\"activity_log\".\"causer_type\" AS \"causer_type\", \"db\".\"activity_log\".\"created_at\" AS \"created_at\", \"db\".\"activity_log\".\"description\" AS \"description\", \"db\".\"activity_log\".\"log_name\" AS \"log_name\", \"db\".\"activity_log\".\"properties\" AS \"properties\", \"db\".\"activity_log\".\"subject_id\" AS \"subject_id\", \"db\".\"activity_log\".\"subject_type\" AS \"subject_type\", \"db\".\"activity_log\".\"updated_at\" AS \"updated_at\" FROM \"db\".\"activity_log\" LIMIT 2000",
25/04/2020 09:29:13 :params nil},
25/04/2020 09:29:13 :status :failed,
25/04/2020 09:29:13 :class java.lang.IllegalArgumentException,
25/04/2020 09:29:13 :stacktrace
25/04/2020 09:29:13 ["java.sql/java.sql.Timestamp.valueOf(Unknown Source)"
25/04/2020 09:29:13 "com.simba.athena.athena.dataengine.AJBaseResultSet.getData(Unknown Source)"
25/04/2020 09:29:13 "com.simba.athena.jdbc.common.SForwardResultSet.getData(Unknown Source)"
25/04/2020 09:29:13 "com.simba.athena.jdbc.common.SForwardResultSet.getString(Unknown Source)"
25/04/2020 09:29:13 "com.mchange.v2.c3p0.impl.NewProxyResultSet.getString(NewProxyResultSet.java:4189)"
25/04/2020 09:29:13 "--> driver.sql_jdbc.execute.legacy_impl$fn__72760$fn__72761.invoke(legacy_impl.clj:77)"
25/04/2020 09:29:13 "driver.sql_jdbc.execute$row_thunk$row_thunk_STAR___70724.invoke(execute.clj:348)"
25/04/2020 09:29:13 "query_processor.reducible$reducible_rows$reify__37968.reduce(reducible.clj:156)"
25/04/2020 09:29:13 "query_processor.context.default$default_reducef$fn__37866.invoke(default.clj:59)"
25/04/2020 09:29:13 "query_processor.context.default$default_reducef.invokeStatic(default.clj:58)"
25/04/2020 09:29:13 "query_processor.context.default$default_reducef.invoke(default.clj:49)"
25/04/2020 09:29:13 "query_processor.context$reducef.invokeStatic(context.clj:69)"
25/04/2020 09:29:13 "query_processor.context$reducef.invoke(context.clj:62)"
25/04/2020 09:29:13 "query_processor.context.default$default_runf$respond_STAR___37870.invoke(default.clj:70)"
25/04/2020 09:29:13 "driver.sql_jdbc.execute$execute_reducible_query.invokeStatic(execute.clj:392)"
25/04/2020 09:29:13 "driver.sql_jdbc.execute$execute_reducible_query.invoke(execute.clj:377)"
25/04/2020 09:29:13 "driver.sql_jdbc$fn__72711.invokeStatic(sql_jdbc.clj:50)"
25/04/2020 09:29:13 "driver.sql_jdbc$fn__72711.invoke(sql_jdbc.clj:48)"
25/04/2020 09:29:13 "driver.athena$fn__609.invokeStatic(athena.clj:273)"
25/04/2020 09:29:13 "driver.athena$fn__609.invoke(athena.clj:271)"
25/04/2020 09:29:13 "query_processor.context$executef.invokeStatic(context.clj:59)"
25/04/2020 09:29:13 "query_processor.context$executef.invoke(context.clj:48)"
25/04/2020 09:29:13 "query_processor.context.default$default_runf.invokeStatic(default.clj:69)"
25/04/2020 09:29:13 "query_processor.context.default$default_runf.invoke(default.clj:67)"
25/04/2020 09:29:13 "query_processor.context$runf.invokeStatic(context.clj:45)"
25/04/2020 09:29:13 "query_processor.context$runf.invoke(context.clj:39)"
25/04/2020 09:29:13 "query_processor.reducible$pivot.invokeStatic(reducible.clj:34)"
25/04/2020 09:29:13 "query_processor.reducible$pivot.invoke(reducible.clj:31)"
25/04/2020 09:29:13 "query_processor.middleware.mbql_to_native$mbql__GT_native$fn__43003.invoke(mbql_to_native.clj:26)"
25/04/2020 09:29:13 "query_processor.middleware.check_features$check_features$fn__42317.invoke(check_features.clj:42)"
25/04/2020 09:29:13 "query_processor.middleware.optimize_datetime_filters$optimize_datetime_filters$fn__43168.invoke(optimize_datetime_filters.clj:133)"
25/04/2020 09:29:13 "query_processor.middleware.wrap_value_literals$wrap_value_literals$fn__47065.invoke(wrap_value_literals.clj:137)"
25/04/2020 09:29:13 "query_processor.middleware.annotate$add_column_info$fn__40946.invoke(annotate.clj:577)"
25/04/2020 09:29:13 "query_processor.middleware.permissions$check_query_permissions$fn__42192.invoke(permissions.clj:64)"
25/04/2020 09:29:13 "query_processor.middleware.pre_alias_aggregations$pre_alias_aggregations$fn__43667.invoke(pre_alias_aggregations.clj:40)"
25/04/2020 09:29:13 "query_processor.middleware.cumulative_aggregations$handle_cumulative_aggregations$fn__42390.invoke(cumulative_aggregations.clj:61)"
25/04/2020 09:29:13 "query_processor.middleware.resolve_joins$resolve_joins$fn__44199.invoke(resolve_joins.clj:183)"
25/04/2020 09:29:13 "query_processor.middleware.add_implicit_joins$add_implicit_joins$fn__39133.invoke(add_implicit_joins.clj:245)"
25/04/2020 09:29:13 "query_processor.middleware.limit$limit$fn__42989.invoke(limit.clj:38)"
25/04/2020 09:29:13 "query_processor.middleware.format_rows$format_rows$fn__42970.invoke(format_rows.clj:81)"
25/04/2020 09:29:13 "query_processor.middleware.desugar$desugar$fn__42456.invoke(desugar.clj:22)"
25/04/2020 09:29:13 "query_processor.middleware.binning$update_binning_strategy$fn__41490.invoke(binning.clj:229)"
25/04/2020 09:29:13 "query_processor.middleware.resolve_fields$resolve_fields$fn__41998.invoke(resolve_fields.clj:24)"
25/04/2020 09:29:13 "query_processor.middleware.add_dimension_projections$add_remapping$fn__38669.invoke(add_dimension_projections.clj:272)"
25/04/2020 09:29:13 "query_processor.middleware.add_implicit_clauses$add_implicit_clauses$fn__38889.invoke(add_implicit_clauses.clj:147)"
25/04/2020 09:29:13 "query_processor.middleware.add_source_metadata$add_source_metadata_for_source_queries$fn__39282.invoke(add_source_metadata.clj:105)"
25/04/2020 09:29:13 "query_processor.middleware.reconcile_breakout_and_order_by_bucketing$reconcile_breakout_and_order_by_bucketing$fn__43864.invoke(reconcile_breakout_and_order_by_bucketing.clj:98)"
25/04/2020 09:29:13 "query_processor.middleware.auto_bucket_datetimes$auto_bucket_datetimes$fn__41131.invoke(auto_bucket_datetimes.clj:125)"
25/04/2020 09:29:13 "query_processor.middleware.resolve_source_table$resolve_source_tables$fn__42045.invoke(resolve_source_table.clj:46)"
25/04/2020 09:29:13 "query_processor.middleware.parameters$substitute_parameters$fn__43649.invoke(parameters.clj:97)"
25/04/2020 09:29:13 "query_processor.middleware.resolve_referenced$resolve_referenced_card_resources$fn__42097.invoke(resolve_referenced.clj:80)"
25/04/2020 09:29:13 "query_processor.middleware.expand_macros$expand_macros$fn__42712.invoke(expand_macros.clj:158)"
25/04/2020 09:29:13 "query_processor.middleware.add_timezone_info$add_timezone_info$fn__39313.invoke(add_timezone_info.clj:15)"
25/04/2020 09:29:13 "query_processor.middleware.splice_params_in_response$splice_params_in_response$fn__46949.invoke(splice_params_in_response.clj:32)"
25/04/2020 09:29:13 "query_processor.middleware.resolve_database_and_driver$resolve_database_and_driver$fn__43875$fn__43879.invoke(resolve_database_and_driver.clj:33)"
25/04/2020 09:29:13 "driver$do_with_driver.invokeStatic(driver.clj:61)"
25/04/2020 09:29:13 "driver$do_with_driver.invoke(driver.clj:57)"
25/04/2020 09:29:13 "query_processor.middleware.resolve_database_and_driver$resolve_database_and_driver$fn__43875.invoke(resolve_database_and_driver.clj:27)"
25/04/2020 09:29:13 "query_processor.middleware.fetch_source_query$resolve_card_id_source_tables$fn__42918.invoke(fetch_source_query.clj:243)"
25/04/2020 09:29:13 "query_processor.middleware.store$initialize_store$fn__46958$fn__46959.invoke(store.clj:11)"
25/04/2020 09:29:13 "query_processor.store$do_with_store.invokeStatic(store.clj:46)"
25/04/2020 09:29:13 "query_processor.store$do_with_store.invoke(store.clj:40)"
25/04/2020 09:29:13 "query_processor.middleware.store$initialize_store$fn__46958.invoke(store.clj:10)"
25/04/2020 09:29:13 "query_processor.middleware.cache$maybe_return_cached_results$fn__41974.invoke(cache.clj:208)"
25/04/2020 09:29:13 "query_processor.middleware.validate$validate_query$fn__46967.invoke(validate.clj:10)"
25/04/2020 09:29:13 "query_processor.middleware.normalize_query$normalize$fn__43016.invoke(normalize_query.clj:22)"
25/04/2020 09:29:13 "query_processor.middleware.add_rows_truncated$add_rows_truncated$fn__39151.invoke(add_rows_truncated.clj:36)"
25/04/2020 09:29:13 "query_processor.middleware.results_metadata$record_and_return_metadata_BANG_$fn__46934.invoke(results_metadata.clj:128)"
25/04/2020 09:29:13 "query_processor.middleware.constraints$add_default_userland_constraints$fn__42333.invoke(constraints.clj:42)"
25/04/2020 09:29:13 "query_processor.middleware.process_userland_query$process_userland_query$fn__43738.invoke(process_userland_query.clj:136)"
25/04/2020 09:29:13 "query_processor.middleware.catch_exceptions$catch_exceptions$fn__42276.invoke(catch_exceptions.clj:174)"
25/04/2020 09:29:13 "query_processor.reducible$async_qp$qp_STAR___37952$thunk__37953.invoke(reducible.clj:101)"
25/04/2020 09:29:13 "query_processor.reducible$async_qp$qp_STAR___37952.invoke(reducible.clj:107)"
25/04/2020 09:29:13 "query_processor.reducible$sync_qp$qp_STAR___37961$fn__37964.invoke(reducible.clj:133)"
25/04/2020 09:29:13 "query_processor.reducible$sync_qp$qp_STAR___37961.invoke(reducible.clj:132)"
25/04/2020 09:29:13 "query_processor$process_userland_query.invokeStatic(query_processor.clj:218)"
25/04/2020 09:29:13 "query_processor$process_userland_query.doInvoke(query_processor.clj:214)"
25/04/2020 09:29:13 "query_processor$fn__47133$process_query_and_save_execution_BANG___47142$fn__47145.invoke(query_processor.clj:233)"
25/04/2020 09:29:13 "query_processor$fn__47133$process_query_and_save_execution_BANG___47142.invoke(query_processor.clj:225)"
25/04/2020 09:29:13 "query_processor$fn__47177$process_query_and_save_with_max_results_constraints_BANG___47186$fn__47189.invoke(query_processor.clj:245)"
25/04/2020 09:29:13 "query_processor$fn__47177$process_query_and_save_with_max_results_constraints_BANG___47186.invoke(query_processor.clj:238)"
25/04/2020 09:29:13 "api.dataset$fn__50475$fn__50478.invoke(dataset.clj:52)"
25/04/2020 09:29:13 "query_processor.streaming$streaming_response_STAR_$fn__33990$fn__33991.invoke(streaming.clj:73)"
25/04/2020 09:29:13 "query_processor.streaming$streaming_response_STAR_$fn__33990.invoke(streaming.clj:72)"
25/04/2020 09:29:13 "async.streaming_response$do_f_STAR_.invokeStatic(streaming_response.clj:66)"
25/04/2020 09:29:13 "async.streaming_response$do_f_STAR_.invoke(streaming_response.clj:64)"
25/04/2020 09:29:13 "async.streaming_response$do_f_async$fn__23079.invoke(streaming_response.clj:85)"],
25/04/2020 09:29:13 :context :ad-hoc,
25/04/2020 09:29:13 :error "[JDBC Driver]Timestamp format must be yyyy-mm-dd hh:mm:ss[.fffffffff]",
25/04/2020 09:29:13 :row_count 0,
25/04/2020 09:29:13 :running_time 0,
25/04/2020 09:29:13 :preprocessed
25/04/2020 09:29:13 {:database 2,
25/04/2020 09:29:13 :query
25/04/2020 09:29:13 {:source-table 42,
25/04/2020 09:29:13 :fields
25/04/2020 09:29:13 [[:field-id 354]
25/04/2020 09:29:13 [:field-id 351]
25/04/2020 09:29:13 [:field-id 350]
25/04/2020 09:29:13 [:datetime-field [:field-id 353] :default]
25/04/2020 09:29:13 [:field-id 356]
25/04/2020 09:29:13 [:field-id 352]
25/04/2020 09:29:13 [:field-id 358]
25/04/2020 09:29:13 [:field-id 349]
25/04/2020 09:29:13 [:field-id 357]
25/04/2020 09:29:13 [:datetime-field [:field-id 355] :default]],
25/04/2020 09:29:13 :limit 2000},
25/04/2020 09:29:13 :type :query,
25/04/2020 09:29:13 :middleware {:add-default-userland-constraints? true},
25/04/2020 09:29:13 :info
25/04/2020 09:29:13 {:executed-by 1,
25/04/2020 09:29:13 :context :ad-hoc,
25/04/2020 09:29:13 :nested? false,
25/04/2020 09:29:13 :query-hash [27, -74, 84, 30, 15, -57, -13, 8, 52, -93, 59, 102, -33, -115, 90, -20, 92, -57, 68, -60, 126, 104, 91, -84, 113, -107, -110, -49, -39, 66, -89, 95]},
25/04/2020 09:29:13 :constraints {:max-results 10000, :max-results-bare-rows 2000}},
25/04/2020 09:29:13 :data {:rows [], :cols []}}
25/04/2020 09:29:13
25/04/2020 09:29:1304-25 08:29:13 DEBUG middleware.log :: POST /api/dataset 202 [ASYNC: completed] 7.3 s (11 DB calls) App DB connections: 0/7 Jetty threads: 2/50 (5 idle, 0 queued) (91 total active threads) Queries in flight: 1 (0 queued)
I've confirmed with the devs that the date/timestamp fields are datetime and Glue correctly picks this up (as timestamp), and in Metabase they're showing as "DateTime".
Apologies if this is actually more a Metabase issue than this driver but I'm going from the first few lines of the stacktrace that mention Athena and hopefully not adding 2+2 together and getting 5.
Appreciate any help and thanks for writing this driver!
Hi @djk - do you know if you can successfully query the table from Athena? Will try to take a look this weekend, but it looks like the time stamp fields are in a bit of a funky format. Glue is a little more flexible with detecting the types, so it would be helpful to know if it works in Athena directly or not.
Hi @dacort, thanks for getting back so quickly
I just did a query on one of the tables in Athena and the created_at and updated_at columns timestamps appear as +52124-03-12 12:26:40.000, for example. Clearly that isn't right...
I've no real experience with Glue or Athena to be honest but the timestamp is ok in the MySQL database ~and the Parquet export~. I'll try and look into what the Glue crawler might be doing to this but if you have any suggestions then please let me know!
Thanks again.
Just looked into this a bit more and I think I have found the issue... looks like the RDS export is doing something:
{
"columnName": "created_at",
"originalType": "timestamp",
"expectedExportedType": "int64 (TIMESTAMP_MICRO)"
},
{
"columnName": "updated_at",
"originalType": "timestamp",
"expectedExportedType": "int64 (TIMESTAMP_MICRO)"
}
I noticed in the Parquet file (got a viewer to explore it) the timestamp data is unix time but it had 6 extra zeroes.
In the table here it says it uses TIMESTAMP_MICROS: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ExportSnapshot.html#USER_ExportSnapshot.data-types.MySQL
I guess the issue then is that the Parquet export is adding trailing zeroes to the unix timestamp for microseconds when it converts and Metabase or the driver can't handle that, I am not sure which it is!
Closing as part of cleanup now that Athena is officially supported by Metabase. Any future issues can be asked about on their forum or with a detailed bug report.