Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dashboard generates exception log, when dashboard filter is connected to a filter that doesn't exist in card anymore #15494

Closed
robdaemon opened this issue Apr 6, 2021 · 3 comments · Fixed by #33613
Assignees
Milestone

Comments

@robdaemon
Copy link
Contributor

Describe the bug
An error rendering a dashboard for a hosting customer is happening with extreme frequency.

Logs

2021-04-06 03:38:45,629 ERROR models.params :: Could not find matching Field ID for target: [:dimension [:template-tag NEM_WEEK]]
clojure.lang.ExceptionInfo: Input to unwrap-field-clause does not match schema: 
	 �[0;33m  [(named (named (not (some-matching-condition? nil)) "Must be a valid instance of one of these clauses: :field-id, :field-literal, :joined-field, :fk->, :datetime-field, :expression, :binning-strategy") clause)] �[0m 
	at metabase.mbql.util$fn__21843$unwrap_field_clause__21848.invoke(util.clj:433) ~[metabase.jar:?]
	at metabase.models.params$fn__42015$unwrap_field_clause__42020$fn__42021.invoke(params.clj:32) ~[metabase.jar:?]
	at metabase.models.params$fn__42015$unwrap_field_clause__42020.invoke(params.clj:24) ~[metabase.jar:?]
	at metabase.models.params$fn__42068$param_target__GT_field_clause__42073$fn__42074.invoke(params.clj:70) ~[metabase.jar:?]
	at metabase.models.params$fn__42068$param_target__GT_field_clause__42073.invoke(params.clj:62) ~[metabase.jar:?]
	at metabase.models.params$fn__42171$dashboard__GT_parameter_mapping_field_clauses__42176$fn__42177$iter__42178__42184$fn__42185$iter__42180__42186$fn__42187$fn__42188.invoke(params.clj:178) ~[metabase.jar:?]
	at metabase.models.params$fn__42171$dashboard__GT_parameter_mapping_field_clauses__42176$fn__42177$iter__42178__42184$fn__42185$iter__42180__42186$fn__42187.invoke(params.clj:176) ~[metabase.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$seq__5402.invoke(core.clj:137) ~[metabase.jar:?]
	at metabase.models.params$fn__42171$dashboard__GT_parameter_mapping_field_clauses__42176$fn__42177$iter__42178__42184$fn__42185.invoke(params.clj:176) ~[metabase.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$seq__5402.invoke(core.clj:137) ~[metabase.jar:?]
	at metabase.models.params$fn__42171$dashboard__GT_parameter_mapping_field_clauses__42176$fn__42177.invoke(params.clj:176) ~[metabase.jar:?]
	at metabase.models.params$fn__42171$dashboard__GT_parameter_mapping_field_clauses__42176.invoke(params.clj:172) ~[metabase.jar:?]
	at metabase.models.params$fn__42236$dashboard__GT_param_field_ids__42241$fn__42242.invoke(params.clj:200) ~[metabase.jar:?]
	at metabase.models.params$fn__42236$dashboard__GT_param_field_ids__42241.invoke(params.clj:194) ~[metabase.jar:?]
	at metabase.models.params$fn__42264.invokeStatic(params.clj:215) ~[metabase.jar:?]
	at metabase.models.params$fn__42264.invoke(params.clj:214) ~[metabase.jar:?]
	at clojure.lang.MultiFn.invoke(MultiFn.java:229) ~[metabase.jar:?]
	at clojure.lang.Var.invoke(Var.java:384) ~[metabase.jar:?]
	at toucan.hydrate$simple_hydrate$iter__33575__33579$fn__33580.invoke(hydrate.clj:262) ~[metabase.jar:?]
	at clojure.lang.LazySeq.sval(LazySeq.java:42) ~[metabase.jar:?]
	at clojure.lang.LazySeq.seq(LazySeq.java:51) ~[metabase.jar:?]
	at clojure.lang.LazySeq.first(LazySeq.java:73) ~[metabase.jar:?]
	at clojure.lang.RT.first(RT.java:692) ~[metabase.jar:?]
	at clojure.core$first__5384.invokeStatic(core.clj:55) ~[metabase.jar:?]
	at clojure.core$first__5384.invoke(core.clj:55) ~[metabase.jar:?]
	at toucan.hydrate$hydrate.invokeStatic(hydrate.clj:433) ~[metabase.jar:?]
	at toucan.hydrate$hydrate.doInvoke(hydrate.clj:343) ~[metabase.jar:?]
	at clojure.lang.RestFn.invoke(RestFn.java:464) ~[metabase.jar:?]
	at metabase.api.dashboard$get_dashboard.invokeStatic(dashboard.clj:211) ~[metabase.jar:?]
	at metabase.api.dashboard$get_dashboard.invoke(dashboard.clj:206) ~[metabase.jar:?]
	at metabase.api.dashboard$fn__68452.invokeStatic(dashboard.clj:252) ~[metabase.jar:?]
	at metabase.api.dashboard$fn__68452.invoke(dashboard.clj:249) ~[metabase.jar:?]
	at compojure.core$wrap_response$fn__11944.invoke(core.clj:160) ~[metabase.jar:?]
	at compojure.core$wrap_route_middleware$fn__11928.invoke(core.clj:132) ~[metabase.jar:?]
	at compojure.core$wrap_route_info$fn__11933.invoke(core.clj:139) ~[metabase.jar:?]
	at compojure.core$wrap_route_matches$fn__11937.invoke(core.clj:151) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957.invoke(core.clj:198) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957$respond_SINGLEQUOTE___11958.invoke(core.clj:197) ~[metabase.jar:?]
	at compojure.core$wrap_route_matches$fn__11937.invoke(core.clj:153) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957.invoke(core.clj:198) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957$respond_SINGLEQUOTE___11958.invoke(core.clj:197) ~[metabase.jar:?]
	at compojure.core$wrap_route_matches$fn__11937.invoke(core.clj:152) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957.invoke(core.clj:198) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957$respond_SINGLEQUOTE___11958.invoke(core.clj:197) ~[metabase.jar:?]
	at compojure.core$wrap_route_matches$fn__11937.invoke(core.clj:153) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957.invoke(core.clj:198) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957$respond_SINGLEQUOTE___11958.invoke(core.clj:197) ~[metabase.jar:?]
	at compojure.core$wrap_route_matches$fn__11937.invoke(core.clj:152) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957.invoke(core.clj:198) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957$respond_SINGLEQUOTE___11958.invoke(core.clj:197) ~[metabase.jar:?]
	at compojure.core$wrap_route_matches$fn__11937.invoke(core.clj:153) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957.invoke(core.clj:198) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957$respond_SINGLEQUOTE___11958.invoke(core.clj:197) ~[metabase.jar:?]
	at compojure.core$wrap_route_matches$fn__11937.invoke(core.clj:153) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957.invoke(core.clj:198) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957$respond_SINGLEQUOTE___11958.invoke(core.clj:197) ~[metabase.jar:?]
	at compojure.core$wrap_route_matches$fn__11937.invoke(core.clj:153) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957.invoke(core.clj:198) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957$respond_SINGLEQUOTE___11958.invoke(core.clj:197) ~[metabase.jar:?]
	at compojure.core$wrap_route_matches$fn__11937.invoke(core.clj:152) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957.invoke(core.clj:198) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957$respond_SINGLEQUOTE___11958.invoke(core.clj:197) ~[metabase.jar:?]
	at compojure.core$wrap_route_matches$fn__11937.invoke(core.clj:152) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957.invoke(core.clj:198) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957$respond_SINGLEQUOTE___11958.invoke(core.clj:197) ~[metabase.jar:?]
	at compojure.core$wrap_route_matches$fn__11937.invoke(core.clj:153) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957.invoke(core.clj:198) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957$respond_SINGLEQUOTE___11958.invoke(core.clj:197) ~[metabase.jar:?]
	at compojure.core$wrap_route_matches$fn__11937.invoke(core.clj:153) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957.invoke(core.clj:198) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957$respond_SINGLEQUOTE___11958.invoke(core.clj:197) ~[metabase.jar:?]
	at compojure.core$wrap_route_matches$fn__11937.invoke(core.clj:153) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957.invoke(core.clj:198) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957$respond_SINGLEQUOTE___11958.invoke(core.clj:197) ~[metabase.jar:?]
	at compojure.core$wrap_route_matches$fn__11937.invoke(core.clj:152) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957.invoke(core.clj:198) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957$respond_SINGLEQUOTE___11958.invoke(core.clj:197) ~[metabase.jar:?]
	at compojure.core$wrap_route_matches$fn__11937.invoke(core.clj:153) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957.invoke(core.clj:198) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957$respond_SINGLEQUOTE___11958.invoke(core.clj:197) ~[metabase.jar:?]
	at compojure.core$wrap_route_matches$fn__11937.invoke(core.clj:152) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957.invoke(core.clj:198) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957$respond_SINGLEQUOTE___11958.invoke(core.clj:197) ~[metabase.jar:?]
	at compojure.core$wrap_route_matches$fn__11937.invoke(core.clj:152) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957.invoke(core.clj:198) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957$respond_SINGLEQUOTE___11958.invoke(core.clj:197) ~[metabase.jar:?]
	at compojure.core$wrap_route_matches$fn__11937.invoke(core.clj:153) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957.invoke(core.clj:198) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957$respond_SINGLEQUOTE___11958.invoke(core.clj:197) ~[metabase.jar:?]
	at compojure.core$wrap_route_matches$fn__11937.invoke(core.clj:153) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957.invoke(core.clj:198) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957$respond_SINGLEQUOTE___11958.invoke(core.clj:197) ~[metabase.jar:?]
	at compojure.core$wrap_route_matches$fn__11937.invoke(core.clj:153) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957.invoke(core.clj:198) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957$respond_SINGLEQUOTE___11958.invoke(core.clj:197) ~[metabase.jar:?]
	at compojure.core$wrap_route_matches$fn__11937.invoke(core.clj:153) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957.invoke(core.clj:198) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956.invoke(core.clj:200) ~[metabase.jar:?]
	at metabase.server.middleware.auth$enforce_authentication$fn__55043.invoke(auth.clj:14) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957.invoke(core.clj:198) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956.invoke(core.clj:200) ~[metabase.jar:?]
	at compojure.core$make_context$handler__11984.invoke(core.clj:287) ~[metabase.jar:?]
	at compojure.core$make_context$fn__11986.invoke(core.clj:296) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957.invoke(core.clj:198) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957$respond_SINGLEQUOTE___11958.invoke(core.clj:197) ~[metabase.jar:?]
	at compojure.core$make_context$fn__11986.invoke(core.clj:297) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957.invoke(core.clj:198) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957$respond_SINGLEQUOTE___11958.invoke(core.clj:197) ~[metabase.jar:?]
	at compojure.core$make_context$fn__11986.invoke(core.clj:297) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957.invoke(core.clj:198) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957$respond_SINGLEQUOTE___11958.invoke(core.clj:197) ~[metabase.jar:?]
	at compojure.core$make_context$fn__11986.invoke(core.clj:297) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957.invoke(core.clj:198) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957$respond_SINGLEQUOTE___11958.invoke(core.clj:197) ~[metabase.jar:?]
	at compojure.core$make_context$fn__11986.invoke(core.clj:297) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957.invoke(core.clj:198) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957$respond_SINGLEQUOTE___11958.invoke(core.clj:197) ~[metabase.jar:?]
	at compojure.core$make_context$fn__11986.invoke(core.clj:297) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957.invoke(core.clj:198) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957$respond_SINGLEQUOTE___11958.invoke(core.clj:197) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957.invoke(core.clj:199) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957$respond_SINGLEQUOTE___11958.invoke(core.clj:197) ~[metabase.jar:?]
	at compojure.core$make_context$fn__11986.invoke(core.clj:297) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957.invoke(core.clj:198) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957$respond_SINGLEQUOTE___11958.invoke(core.clj:197) ~[metabase.jar:?]
	at compojure.core$make_context$fn__11986.invoke(core.clj:297) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957.invoke(core.clj:198) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957$respond_SINGLEQUOTE___11958.invoke(core.clj:197) ~[metabase.jar:?]
	at compojure.core$make_context$fn__11986.invoke(core.clj:297) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957.invoke(core.clj:198) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956.invoke(core.clj:200) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957.invoke(core.clj:198) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956.invoke(core.clj:200) ~[metabase.jar:?]
	at clojure.lang.AFn.applyToHelper(AFn.java:160) ~[metabase.jar:?]
	at clojure.lang.AFn.applyTo(AFn.java:144) ~[metabase.jar:?]
	at clojure.core$apply.invokeStatic(core.clj:665) ~[metabase.jar:?]
	at clojure.core$apply.invoke(core.clj:660) ~[metabase.jar:?]
	at metabase.server.routes$fn__80946$fn__80947.doInvoke(routes.clj:57) ~[metabase.jar:?]
	at clojure.lang.RestFn.invoke(RestFn.java:436) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957.invoke(core.clj:198) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956.invoke(core.clj:200) ~[metabase.jar:?]
	at compojure.core$make_context$handler__11984.invoke(core.clj:287) ~[metabase.jar:?]
	at compojure.core$make_context$fn__11986.invoke(core.clj:296) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957.invoke(core.clj:198) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957$respond_SINGLEQUOTE___11958.invoke(core.clj:197) ~[metabase.jar:?]
	at compojure.core$wrap_route_matches$fn__11937.invoke(core.clj:152) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957.invoke(core.clj:198) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957$respond_SINGLEQUOTE___11958.invoke(core.clj:197) ~[metabase.jar:?]
	at compojure.core$wrap_route_matches$fn__11937.invoke(core.clj:152) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957.invoke(core.clj:198) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957$respond_SINGLEQUOTE___11958.invoke(core.clj:197) ~[metabase.jar:?]
	at compojure.core$wrap_route_matches$fn__11937.invoke(core.clj:152) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957.invoke(core.clj:198) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957$respond_SINGLEQUOTE___11958.invoke(core.clj:197) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957.invoke(core.clj:199) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957$respond_SINGLEQUOTE___11958.invoke(core.clj:197) ~[metabase.jar:?]
	at compojure.core$make_context$fn__11986.invoke(core.clj:297) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957.invoke(core.clj:198) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956.invoke(core.clj:200) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956$f__11957.invoke(core.clj:198) ~[metabase.jar:?]
	at compojure.core$routes$fn__11956.invoke(core.clj:200) ~[metabase.jar:?]
	at metabase.server.middleware.exceptions$catch_uncaught_exceptions$fn__79024.invoke(exceptions.clj:96) ~[metabase.jar:?]
	at metabase.server.middleware.exceptions$catch_api_exceptions$fn__79021.invoke(exceptions.clj:84) ~[metabase.jar:?]
	at metabase.server.middleware.log$log_api_call$fn__80862$fn__80863.invoke(log.clj:195) ~[metabase.jar:?]
	at toucan.db$_do_with_call_counting.invokeStatic(db.clj:216) ~[metabase.jar:?]
	at toucan.db$_do_with_call_counting.invoke(db.clj:209) ~[metabase.jar:?]
	at metabase.server.middleware.log$log_api_call$fn__80862.invoke(log.clj:189) ~[metabase.jar:?]
	at metabase.server.middleware.security$add_security_headers$fn__78987.invoke(security.clj:142) ~[metabase.jar:?]
	at metabase.server.middleware.json$wrap_json_body$fn__80643.invoke(json.clj:62) ~[metabase.jar:?]
	at metabase.server.middleware.json$wrap_streamed_json_response$fn__80661.invoke(json.clj:98) ~[metabase.jar:?]
	at ring.middleware.keyword_params$wrap_keyword_params$fn__81203.invoke(keyword_params.clj:55) ~[metabase.jar:?]
	at ring.middleware.params$wrap_params$fn__81219.invoke(params.clj:69) ~[metabase.jar:?]
	at metabase.server.middleware.misc$maybe_set_site_url$fn__35106.invoke(misc.clj:58) ~[metabase.jar:?]
	at metabase.server.middleware.session$bind_current_user$fn__42732$fn__42733.invoke(session.clj:277) ~[metabase.jar:?]
	at metabase.server.middleware.session$do_with_current_user.invokeStatic(session.clj:258) ~[metabase.jar:?]
	at metabase.server.middleware.session$do_with_current_user.invoke(session.clj:250) ~[metabase.jar:?]
	at metabase.server.middleware.session$bind_current_user$fn__42732.invoke(session.clj:276) ~[metabase.jar:?]
	at metabase.server.middleware.session$wrap_current_user_info$fn__42719.invoke(session.clj:236) ~[metabase.jar:?]
	at metabase.server.middleware.session$wrap_session_id$fn__42705.invoke(session.clj:182) ~[metabase.jar:?]
	at metabase.server.middleware.auth$wrap_api_key$fn__55051.invoke(auth.clj:27) ~[metabase.jar:?]
	at ring.middleware.cookies$wrap_cookies$fn__81123.invoke(cookies.clj:216) ~[metabase.jar:?]
	at metabase.server.middleware.misc$add_content_type$fn__35089.invoke(misc.clj:27) ~[metabase.jar:?]
	at metabase.server.middleware.misc$disable_streaming_buffering$fn__35114.invoke(misc.clj:75) ~[metabase.jar:?]
	at ring.middleware.gzip$wrap_gzip$fn__81165.invoke(gzip.clj:86) ~[metabase.jar:?]
	at metabase.server.middleware.misc$bind_request$fn__35117.invoke(misc.clj:92) ~[metabase.jar:?]
	at metabase.server.middleware.ssl$redirect_to_https_middleware$fn__80879.invoke(ssl.clj:48) ~[metabase.jar:?]
	at metabase.server$async_proxy_handler$fn__80476.invoke(server.clj:71) ~[metabase.jar:?]
	at metabase.server.proxy$org.eclipse.jetty.server.handler.AbstractHandler$ff19274a.handle(Unknown Source) ~[metabase.jar:?]
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) ~[metabase.jar:?]
	at org.eclipse.jetty.server.Server.handle(Server.java:516) ~[metabase.jar:?]
	at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383) ~[metabase.jar:?]
	at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:556) [metabase.jar:?]
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375) [metabase.jar:?]
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:273) [metabase.jar:?]
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) [metabase.jar:?]
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) [metabase.jar:?]
	at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) [metabase.jar:?]
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336) [metabase.jar:?]
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313) [metabase.jar:?]
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171) [metabase.jar:?]
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129) [metabase.jar:?]
	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:375) [metabase.jar:?]
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:773) [metabase.jar:?]
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:905) [metabase.jar:?]
	at java.lang.Thread.run(Unknown Source) [?:?]

Information about your Metabase Installation:

metabase/metabase-enterprise:v1.38.2

Customer: hosting-6860a89bc8744a3f

Severity
Annoying - it is so prevalent in the logs that it's hard to track down other issues with this instance.

@robdaemon robdaemon added Type:Bug Product defects .Needs Triage labels Apr 6, 2021
@flamber flamber added Querying/Parameters & Variables Filter widgets, field filters, variables etc. Reporting/Dashboards Priority:P3 Cosmetic bugs, minor bugs with a clear workaround and removed .Needs Triage labels Apr 6, 2021
@flamber
Copy link
Contributor

flamber commented Apr 6, 2021

Reproduce

  1. Native question > Sample Dataset > select count(*) from products [[ where {{filter1}} ]] and connect filter1 as Field Filter to Products.Category, save as "Q1"
  2. Add "Q1" to dashboard "D1", add a Categories filter and connect to the card, and save the dashboard
  3. Go to "Q1" and remove (not just rename) {{filter1}} and add {{filter2}} instead as Field Filter - it can connect to Products.Category (or another field in Products). Save question.
  4. Go to dashboard "D1" - everything looks normal - the filter widget will not work and just be a plain text input, since the dashboard was connected to filter1, which doesn't exist anymore. The log is full of exception.
Full stacktrace
2021-04-06 15:21:20,388 ERROR models.params :: Could not find matching Field ID for target: [:dimension [:template-tag filter1]]
clojure.lang.ExceptionInfo: Input to unwrap-field-clause does not match schema: 

	   [(named (named (not (some-matching-condition? nil)) "Must be a valid instance of one of these clauses: :field-id, :field-literal, :joined-field, :fk->, :datetime-field, :expression, :binning-strategy") clause)]  

 {:type :schema.core/error, :schema [#schema.core.One{:schema (recursive (var metabase.mbql.schema/Field*)), :optional? false, :name clause}], :value [nil], :error [(named (named (not (some-matching-condition? nil)) "Must be a valid instance of one of these clauses: :field-id, :field-literal, :joined-field, :fk->, :datetime-field, :expression, :binning-strategy") clause)]}
	at metabase.mbql.util$fn__20412$unwrap_field_clause__20417.invoke(util.clj:433)
	at metabase.models.params$fn__33800$unwrap_field_clause__33805$fn__33806.invoke(params.clj:32)
	at metabase.models.params$fn__33800$unwrap_field_clause__33805.invoke(params.clj:24)
	at metabase.models.params$fn__33853$param_target__GT_field_clause__33858$fn__33859.invoke(params.clj:70)
	at metabase.models.params$fn__33853$param_target__GT_field_clause__33858.invoke(params.clj:62)
	at metabase.models.params$fn__33956$dashboard__GT_parameter_mapping_field_clauses__33961$fn__33962$iter__33963__33969$fn__33970$iter__33965__33971$fn__33972$fn__33973.invoke(params.clj:178)
	at metabase.models.params$fn__33956$dashboard__GT_parameter_mapping_field_clauses__33961$fn__33962$iter__33963__33969$fn__33970$iter__33965__33971$fn__33972.invoke(params.clj:176)
	at clojure.lang.LazySeq.sval(LazySeq.java:42)
	at clojure.lang.LazySeq.seq(LazySeq.java:51)
	at clojure.lang.RT.seq(RT.java:535)
	at clojure.core$seq__5402.invokeStatic(core.clj:137)
	at clojure.core$seq__5402.invoke(core.clj:137)
	at metabase.models.params$fn__33956$dashboard__GT_parameter_mapping_field_clauses__33961$fn__33962$iter__33963__33969$fn__33970.invoke(params.clj:176)
	at clojure.lang.LazySeq.sval(LazySeq.java:42)
	at clojure.lang.LazySeq.seq(LazySeq.java:51)
	at clojure.lang.RT.seq(RT.java:535)
	at clojure.core$seq__5402.invokeStatic(core.clj:137)
	at clojure.core$seq__5402.invoke(core.clj:137)
	at metabase.models.params$fn__33956$dashboard__GT_parameter_mapping_field_clauses__33961$fn__33962.invoke(params.clj:176)
	at metabase.models.params$fn__33956$dashboard__GT_parameter_mapping_field_clauses__33961.invoke(params.clj:172)
	at metabase.models.params$fn__34021$dashboard__GT_param_field_ids__34026$fn__34027.invoke(params.clj:200)
	at metabase.models.params$fn__34021$dashboard__GT_param_field_ids__34026.invoke(params.clj:194)
	at metabase.models.params$fn__34049.invokeStatic(params.clj:215)
	at metabase.models.params$fn__34049.invoke(params.clj:214)
	at clojure.lang.MultiFn.invoke(MultiFn.java:229)
	at clojure.lang.Var.invoke(Var.java:384)
	at toucan.hydrate$simple_hydrate$iter__33761__33765$fn__33766.invoke(hydrate.clj:262)
	at clojure.lang.LazySeq.sval(LazySeq.java:42)
	at clojure.lang.LazySeq.seq(LazySeq.java:51)
	at clojure.lang.LazySeq.first(LazySeq.java:73)
	at clojure.lang.RT.first(RT.java:692)
	at clojure.core$first__5384.invokeStatic(core.clj:55)
	at clojure.core$first__5384.invoke(core.clj:55)
	at toucan.hydrate$hydrate.invokeStatic(hydrate.clj:433)
	at toucan.hydrate$hydrate.doInvoke(hydrate.clj:343)
	at clojure.lang.RestFn.invoke(RestFn.java:464)
	at metabase.api.dashboard$get_dashboard.invokeStatic(dashboard.clj:211)
	at metabase.api.dashboard$get_dashboard.invoke(dashboard.clj:206)
	at metabase.api.dashboard$fn__58924.invokeStatic(dashboard.clj:252)
	at metabase.api.dashboard$fn__58924.invoke(dashboard.clj:249)
	at compojure.core$wrap_response$fn__1996.invoke(core.clj:160)
	at compojure.core$wrap_route_middleware$fn__1980.invoke(core.clj:132)
	at compojure.core$wrap_route_info$fn__1985.invoke(core.clj:139)
	at compojure.core$wrap_route_matches$fn__1989.invoke(core.clj:151)
	at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198)
	at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197)
	at compojure.core$wrap_route_matches$fn__1989.invoke(core.clj:153)
	at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198)
	at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197)
	at compojure.core$wrap_route_matches$fn__1989.invoke(core.clj:152)
	at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198)
	at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197)
	at compojure.core$wrap_route_matches$fn__1989.invoke(core.clj:153)
	at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198)
	at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197)
	at compojure.core$wrap_route_matches$fn__1989.invoke(core.clj:152)
	at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198)
	at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197)
	at compojure.core$wrap_route_matches$fn__1989.invoke(core.clj:153)
	at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198)
	at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197)
	at compojure.core$wrap_route_matches$fn__1989.invoke(core.clj:153)
	at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198)
	at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197)
	at compojure.core$wrap_route_matches$fn__1989.invoke(core.clj:153)
	at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198)
	at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197)
	at compojure.core$wrap_route_matches$fn__1989.invoke(core.clj:152)
	at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198)
	at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197)
	at compojure.core$wrap_route_matches$fn__1989.invoke(core.clj:152)
	at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198)
	at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197)
	at compojure.core$wrap_route_matches$fn__1989.invoke(core.clj:153)
	at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198)
	at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197)
	at compojure.core$wrap_route_matches$fn__1989.invoke(core.clj:153)
	at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198)
	at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197)
	at compojure.core$wrap_route_matches$fn__1989.invoke(core.clj:153)
	at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198)
	at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197)
	at compojure.core$wrap_route_matches$fn__1989.invoke(core.clj:152)
	at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198)
	at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197)
	at compojure.core$wrap_route_matches$fn__1989.invoke(core.clj:153)
	at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198)
	at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197)
	at compojure.core$wrap_route_matches$fn__1989.invoke(core.clj:152)
	at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198)
	at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197)
	at compojure.core$wrap_route_matches$fn__1989.invoke(core.clj:152)
	at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198)
	at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197)
	at compojure.core$wrap_route_matches$fn__1989.invoke(core.clj:153)
	at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198)
	at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197)
	at compojure.core$wrap_route_matches$fn__1989.invoke(core.clj:153)
	at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198)
	at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197)
	at compojure.core$wrap_route_matches$fn__1989.invoke(core.clj:153)
	at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198)
	at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197)
	at compojure.core$wrap_route_matches$fn__1989.invoke(core.clj:153)
	at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198)
	at compojure.core$routes$fn__2008.invoke(core.clj:200)
	at metabase.server.middleware.auth$enforce_authentication$fn__73892.invoke(auth.clj:14)
	at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198)
	at compojure.core$routes$fn__2008.invoke(core.clj:200)
	at compojure.core$make_context$handler__2036.invoke(core.clj:287)
	at compojure.core$make_context$fn__2038.invoke(core.clj:296)
	at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198)
	at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197)
	at compojure.core$make_context$fn__2038.invoke(core.clj:297)
	at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198)
	at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197)
	at compojure.core$make_context$fn__2038.invoke(core.clj:297)
	at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198)
	at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197)
	at compojure.core$make_context$fn__2038.invoke(core.clj:297)
	at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198)
	at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197)
	at compojure.core$make_context$fn__2038.invoke(core.clj:297)
	at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198)
	at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197)
	at compojure.core$make_context$fn__2038.invoke(core.clj:297)
	at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198)
	at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197)
	at metabase.api.routes$fn__74014$fn__74016.invoke(routes.clj:69)
	at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198)
	at compojure.core$routes$fn__2008.invoke(core.clj:200)
	at clojure.lang.AFn.applyToHelper(AFn.java:160)
	at clojure.lang.AFn.applyTo(AFn.java:144)
	at clojure.core$apply.invokeStatic(core.clj:665)
	at clojure.core$apply.invoke(core.clj:660)
	at metabase.server.routes$fn__76247$fn__76248.doInvoke(routes.clj:57)
	at clojure.lang.RestFn.invoke(RestFn.java:436)
	at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198)
	at compojure.core$routes$fn__2008.invoke(core.clj:200)
	at compojure.core$make_context$handler__2036.invoke(core.clj:287)
	at compojure.core$make_context$fn__2038.invoke(core.clj:296)
	at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198)
	at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197)
	at compojure.core$wrap_route_matches$fn__1989.invoke(core.clj:152)
	at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198)
	at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197)
	at compojure.core$wrap_route_matches$fn__1989.invoke(core.clj:152)
	at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198)
	at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197)
	at compojure.core$wrap_route_matches$fn__1989.invoke(core.clj:152)
	at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198)
	at compojure.core$routes$fn__2008$f__2009$respond_SINGLEQUOTE___2010.invoke(core.clj:197)
	at metabase.server.routes$fn__76235$fn__76237.invoke(routes.clj:41)
	at compojure.core$routes$fn__2008$f__2009.invoke(core.clj:198)
	at compojure.core$routes$fn__2008.invoke(core.clj:200)
	at metabase.server.middleware.exceptions$catch_uncaught_exceptions$fn__74005.invoke(exceptions.clj:98)
	at metabase.server.middleware.exceptions$catch_api_exceptions$fn__74002.invoke(exceptions.clj:86)
	at metabase.server.middleware.log$log_api_call$fn__76163$fn__76164.invoke(log.clj:195)
	at toucan.db$_do_with_call_counting.invokeStatic(db.clj:216)
	at toucan.db$_do_with_call_counting.invoke(db.clj:209)
	at metabase.server.middleware.log$log_api_call$fn__76163.invoke(log.clj:189)
	at metabase.server.middleware.security$add_security_headers$fn__73967.invoke(security.clj:142)
	at metabase.server.middleware.json$wrap_json_body$fn__75944.invoke(json.clj:62)
	at metabase.server.middleware.json$wrap_streamed_json_response$fn__75962.invoke(json.clj:98)
	at ring.middleware.keyword_params$wrap_keyword_params$fn__76504.invoke(keyword_params.clj:55)
	at ring.middleware.params$wrap_params$fn__76520.invoke(params.clj:69)
	at metabase.server.middleware.misc$maybe_set_site_url$fn__34784.invoke(misc.clj:58)
	at metabase.server.middleware.session$bind_current_user$fn__41763$fn__41764.invoke(session.clj:277)
	at metabase.server.middleware.session$do_with_current_user.invokeStatic(session.clj:258)
	at metabase.server.middleware.session$do_with_current_user.invoke(session.clj:250)
	at metabase.server.middleware.session$bind_current_user$fn__41763.invoke(session.clj:276)
	at metabase.server.middleware.session$wrap_current_user_info$fn__41750.invoke(session.clj:236)
	at metabase.server.middleware.session$wrap_session_id$fn__41736.invoke(session.clj:182)
	at metabase.server.middleware.auth$wrap_api_key$fn__73900.invoke(auth.clj:27)
	at ring.middleware.cookies$wrap_cookies$fn__76424.invoke(cookies.clj:216)
	at metabase.server.middleware.misc$add_content_type$fn__34767.invoke(misc.clj:27)
	at metabase.server.middleware.misc$disable_streaming_buffering$fn__34792.invoke(misc.clj:75)
	at ring.middleware.gzip$wrap_gzip$fn__76466.invoke(gzip.clj:86)
	at metabase.server.middleware.misc$bind_request$fn__34795.invoke(misc.clj:92)
	at metabase.server.middleware.ssl$redirect_to_https_middleware$fn__76180.invoke(ssl.clj:38)
	at metabase.server$async_proxy_handler$fn__75777.invoke(server.clj:71)
	at metabase.server.proxy$org.eclipse.jetty.server.handler.AbstractHandler$ff19274a.handle(Unknown Source)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
	at org.eclipse.jetty.server.Server.handle(Server.java:516)
	at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383)
	at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:556)
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375)
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:273)
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
	at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:375)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:773)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:905)
	at java.base/java.lang.Thread.run(Thread.java:834)
2021-04-06 15:21:20,405 DEBUG middleware.log :: GET /api/dashboard/6 200 23.5 ms (11 DB calls) App DB connections: 0/15 Jetty threads: 4/50 (7 idle, 0 queued) (125 total active threads) Queries in flight: 0 (0 queued)
2021-04-06 15:21:20,536 DEBUG middleware.log :: POST /api/card/480/query 202 [ASYNC: completed] 27.5 ms (7 DB calls) App DB connections: 0/15 Jetty threads: 3/50 (7 idle, 0 queued) (125 total active threads) Queries in flight: 0 (0 queued)

Workaround is to remove the unconnected dashboard filter or connect it to a new field in the card it was previously connected to.

@flamber flamber changed the title Dashboard error happening a lot Dashboard generates exception log, when dashboard filter is connected to a filter that doesn't exist in card anymore Apr 6, 2021
@walterl

This comment was marked as outdated.

@flamber flamber added Priority:P2 Average run of the mill bug Administration/Troubleshooting and removed Priority:P3 Cosmetic bugs, minor bugs with a clear workaround labels Dec 24, 2021
@flamber
Copy link
Contributor

flamber commented Dec 24, 2021

This makes it so painful to debug other issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants