TIDB 7.5版本对metabase的兼容性,无法创建sql查询问题(使用原生SQL进行BI数据查询)

【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】v7.5
【复现路径】

  1. docker安装metabase任意版本
  2. 进入管理员页面,创建数据库源,选择TIDB的数据源,不带任何其他连接参数
  3. 创建一个metabase问题,选择SQL查询
  4. 写任意一个查询,如SELECT 1
    【遇到的问题:问题现象及影响】
    影响:我们在TIDB 5.x版本上均可以正常使用metabase作为BI,给客户进行数据展示。在一次为客户重新部署TIDB7.5的过程中,发现无法展示了。这对我们整个产品生态造成了影响,希望官方可以在新版本中帮忙处理该兼容性问题。

问题现象:我们在创建metabase的原生sql查询,对7.5版本的TIDB进行查询时,发现无法查询,返回unexpected end of stream, read 0 bytes from 7 (socket was closed by server)。经过多次更换metabase的版本无效,同时确认TIDB 5.x版本正常使用之后,认定是高版本的TIDB可能导致了该问题。metabase自己在2019年的时候有过该问题并且附带了处理方案(链接为: Metabase 0.32.5 - unexpected end of stream, read 0 bytes from 7 · Issue #9885 · metabase/metabase (github.com),高版本已经自动解决),但是我们其实是2021年开始使用的,一直都没有问题了(metabase后续均使用了MarialDB的驱动),直到最近我们开始使用TIDB 7.5版本

具体无法返回数据的报错截图:

查询了metabase的故障日志,以下是详细信息:
[6573d47d-4da9-4423-b910-1a79c2275683] 2023-12-23T23:03:23+08:00 ERROR metabase.query-processor.middleware.catch-exceptions 处理查询时出错:unexpected end of stream, read 0 bytes from 7 (socket was closed by server)
{:database_id 3,
:started_at #t “2023-12-23T15:03:23.633626Z[GMT]”,
:via
[{:status :failed,
:class java.sql.SQLNonTransientConnectionException,
:error “unexpected end of stream, read 0 bytes from 7 (socket was closed by server)”,
:stacktrace
[“org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.handleIoException(AbstractQueryProtocol.java:2089)”
“org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.readPacket(AbstractQueryProtocol.java:1539)”
“org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.getResult(AbstractQueryProtocol.java:1518)”
“org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.executeQuery(AbstractQueryProtocol.java:257)”
“org.mariadb.jdbc.MariaDbStatement.executeInternal(MariaDbStatement.java:356)”
“org.mariadb.jdbc.MariaDbStatement.execute(MariaDbStatement.java:500)”
“com.mchange.v2.c3p0.impl.NewProxyStatement.execute(NewProxyStatement.java:75)”
“–> driver.sql_jdbc.execute$fn__80988.invokeStatic(execute.clj:560)”
“driver.sql_jdbc.execute$fn__80988.invoke(execute.clj:558)”
“driver.sql_jdbc.execute$execute_statement_or_prepared_statement_BANG_.invokeStatic(execute.clj:568)”
“driver.sql_jdbc.execute$execute_statement_or_prepared_statement_BANG_.invoke(execute.clj:565)”
“driver.sql_jdbc.execute$execute_reducible_query$fn__81069$fn__81070.invoke(execute.clj:696)”
“driver.sql_jdbc.execute$execute_reducible_query$fn__81069.invoke(execute.clj:695)”
“driver.sql_jdbc.execute$fn__80864$fn__80865.invoke(execute.clj:388)”
“driver.sql_jdbc.execute$fn__80829$AMPERSAND_f__80830.invoke(execute.clj:334)"
“driver.sql_jdbc.execute$fn__80829$fn__80833.invoke(execute.clj:317)”
“driver.sql_jdbc.execute$fn__80864.invokeStatic(execute.clj:382)”
“driver.sql_jdbc.execute$fn__80864.invoke(execute.clj:380)”
“driver.sql_jdbc.execute$execute_reducible_query.invokeStatic(execute.clj:689)”
“driver.sql_jdbc.execute$execute_reducible_query.invoke(execute.clj:678)”
“driver.sql_jdbc.execute$execute_reducible_query.invokeStatic(execute.clj:686)”
“driver.sql_jdbc.execute$execute_reducible_query.invoke(execute.clj:678)”
“driver.sql_jdbc$fn__109934.invokeStatic(sql_jdbc.clj:82)”
“driver.sql_jdbc$fn__109934.invoke(sql_jdbc.clj:80)”
“query_processor.context$executef.invokeStatic(context.clj:60)”
“query_processor.context$executef.invoke(context.clj:49)”
“query_processor.context.default$default_runf.invokeStatic(default.clj:44)”
“query_processor.context.default$default_runf.invoke(default.clj:42)”
“query_processor.context$runf.invokeStatic(context.clj:46)”
“query_processor.context$runf.invoke(context.clj:40)”
“query_processor.reducible$identity_qp.invokeStatic(reducible.clj:39)”
“query_processor.reducible$identity_qp.invoke(reducible.clj:36)”
“query_processor.middleware.cache$maybe_return_cached_results$maybe_return_cached_results_STAR___73853.invoke(cache.clj:229)”
“query_processor.middleware.permissions$check_query_permissions$fn__67558.invoke(permissions.clj:140)”
“query_processor.middleware.enterprise$check_download_permissions_middleware$fn__73664.invoke(enterprise.clj:51)”
“query_processor.middleware.enterprise$maybe_apply_column_level_perms_check_middleware$fn__73674.invoke(enterprise.clj:64)”
“query_processor.middleware.mbql_to_native$mbql__GT_native$fn__72816.invoke(mbql_to_native.clj:24)”
“query_processor$fn__75056$combined_post_process__75061$combined_post_process_STAR___75062.invoke(query_processor.clj:261)”
“query_processor$fn__75056$combined_pre_process__75057$combined_pre_process_STAR___75058.invoke(query_processor.clj:258)”
“query_processor.middleware.fetch_source_query$resolve_card_id_source_tables$fn__67685.invoke(fetch_source_query.clj:303)”
“query_processor.middleware.resolve_database_and_driver$resolve_driver_and_database_local_values$fn__73764$fn__73768.invoke(resolve_database_and_driver.clj:77)”
“driver$do_with_driver.invokeStatic(driver.clj:94)”
“driver$do_with_driver.invoke(driver.clj:89)”
“query_processor.middleware.resolve_database_and_driver$resolve_driver_and_database_local_values$fn__73764.invoke(resolve_database_and_driver.clj:76)”
“query_processor.middleware.store$initialize_store$fn__68102$fn__68103.invoke(store.clj:14)”
“query_processor.store$do_with_metadata_provider.invokeStatic(store.clj:169)”
“query_processor.store$do_with_metadata_provider.invoke(store.clj:150)”
“query_processor.store$do_with_metadata_provider.invokeStatic(store.clj:158)”
“query_processor.store$do_with_metadata_provider.invoke(store.clj:150)”
“query_processor.middleware.store$initialize_store$fn__68102.invoke(store.clj:13)”
“query_processor.middleware.resolve_database_and_driver$resolve_database$fn__73761.invoke(resolve_database_and_driver.clj:60)”
“query_processor.middleware.normalize_query$normalize$fn__74071.invoke(normalize_query.clj:38)”
“query_processor.middleware.enterprise$fn__73691$handle_audit_app_internal_queries__73692$fn__73694.invoke(enterprise.clj:96)”
“query_processor.middleware.enterprise$handle_audit_app_internal_queries_middleware$fn__73702.invoke(enterprise.clj:103)”
“query_processor.middleware.constraints$add_default_userland_constraints$fn__70675.invoke(constraints.clj:81)”
“query_processor.middleware.process_userland_query$process_userland_query$fn__74002.invoke(process_userland_query.clj:156)”
“query_processor.middleware.catch_exceptions$catch_exceptions$fn__74600.invoke(catch_exceptions.clj:171)”
“query_processor.reducible$async_qp$qp_STAR___62532$thunk__62534.invoke(reducible.clj:126)”
“query_processor.reducible$async_qp$qp_STAR___62532$fn__62536.invoke(reducible.clj:131)”],
:state “08000”}
{:status :failed,
:class org.mariadb.jdbc.internal.util.exceptions.MariaDbSqlException,
:error “unexpected end of stream, read 0 bytes from 7 (socket was closed by server)”,
:stacktrace
[“org.mariadb.jdbc.internal.util.exceptions.MariaDbSqlException.of(MariaDbSqlException.java:34)”
“org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.exceptionWithQuery(AbstractQueryProtocol.java:195)”
“org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.executeQuery(AbstractQueryProtocol.java:263)”
“org.mariadb.jdbc.MariaDbStatement.executeInternal(MariaDbStatement.java:356)”
“org.mariadb.jdbc.MariaDbStatement.execute(MariaDbStatement.java:500)”
“com.mchange.v2.c3p0.impl.NewProxyStatement.execute(NewProxyStatement.java:75)”
“–> driver.sql_jdbc.execute$fn__80988.invokeStatic(execute.clj:560)”
“driver.sql_jdbc.execute$fn__80988.invoke(execute.clj:558)”
"driver.sql_jdbc.execute$execute_statement_or_prepared_statement_BANG
.invokeStatic(execute.clj:568)”
“driver.sql_jdbc.execute$execute_statement_or_prepared_statement_BANG_.invoke(execute.clj:565)”
“driver.sql_jdbc.execute$execute_reducible_query$fn__81069$fn__81070.invoke(execute.clj:696)”
“driver.sql_jdbc.execute$execute_reducible_query$fn__81069.invoke(execute.clj:695)”
“driver.sql_jdbc.execute$fn__80864$fn__80865.invoke(execute.clj:388)”
“driver.sql_jdbc.execute$fn__80829$AMPERSAND_f__80830.invoke(execute.clj:334)"
“driver.sql_jdbc.execute$fn__80829$fn__80833.invoke(execute.clj:317)”
“driver.sql_jdbc.execute$fn__80864.invokeStatic(execute.clj:382)”
“driver.sql_jdbc.execute$fn__80864.invoke(execute.clj:380)”
“driver.sql_jdbc.execute$execute_reducible_query.invokeStatic(execute.clj:689)”
“driver.sql_jdbc.execute$execute_reducible_query.invoke(execute.clj:678)”
“driver.sql_jdbc.execute$execute_reducible_query.invokeStatic(execute.clj:686)”
“driver.sql_jdbc.execute$execute_reducible_query.invoke(execute.clj:678)”
“driver.sql_jdbc$fn__109934.invokeStatic(sql_jdbc.clj:82)”
“driver.sql_jdbc$fn__109934.invoke(sql_jdbc.clj:80)”
“query_processor.context$executef.invokeStatic(context.clj:60)”
“query_processor.context$executef.invoke(context.clj:49)”
“query_processor.context.default$default_runf.invokeStatic(default.clj:44)”
“query_processor.context.default$default_runf.invoke(default.clj:42)”
“query_processor.context$runf.invokeStatic(context.clj:46)”
“query_processor.context$runf.invoke(context.clj:40)”
“query_processor.reducible$identity_qp.invokeStatic(reducible.clj:39)”
“query_processor.reducible$identity_qp.invoke(reducible.clj:36)”
“query_processor.middleware.cache$maybe_return_cached_results$maybe_return_cached_results_STAR___73853.invoke(cache.clj:229)”
“query_processor.middleware.permissions$check_query_permissions$fn__67558.invoke(permissions.clj:140)”
“query_processor.middleware.enterprise$check_download_permissions_middleware$fn__73664.invoke(enterprise.clj:51)”
“query_processor.middleware.enterprise$maybe_apply_column_level_perms_check_middleware$fn__73674.invoke(enterprise.clj:64)”
“query_processor.middleware.mbql_to_native$mbql__GT_native$fn__72816.invoke(mbql_to_native.clj:24)”
“query_processor$fn__75056$combined_post_process__75061$combined_post_process_STAR___75062.invoke(query_processor.clj:261)”
“query_processor$fn__75056$combined_pre_process__75057$combined_pre_process_STAR___75058.invoke(query_processor.clj:258)”
“query_processor.middleware.fetch_source_query$resolve_card_id_source_tables$fn__67685.invoke(fetch_source_query.clj:303)”
“query_processor.middleware.resolve_database_and_driver$resolve_driver_and_database_local_values$fn__73764$fn__73768.invoke(resolve_database_and_driver.clj:77)”
“driver$do_with_driver.invokeStatic(driver.clj:94)”
“driver$do_with_driver.invoke(driver.clj:89)”
“query_processor.middleware.resolve_database_and_driver$resolve_driver_and_database_local_values$fn__73764.invoke(resolve_database_and_driver.clj:76)”
“query_processor.middleware.store$initialize_store$fn__68102$fn__68103.invoke(store.clj:14)”
“query_processor.store$do_with_metadata_provider.invokeStatic(store.clj:169)”
“query_processor.store$do_with_metadata_provider.invoke(store.clj:150)”
“query_processor.store$do_with_metadata_provider.invokeStatic(store.clj:158)”
“query_processor.store$do_with_metadata_provider.invoke(store.clj:150)”
“query_processor.middleware.store$initialize_store$fn__68102.invoke(store.clj:13)”
“query_processor.middleware.resolve_database_and_driver$resolve_database$fn__73761.invoke(resolve_database_and_driver.clj:60)”
“query_processor.middleware.normalize_query$normalize$fn__74071.invoke(normalize_query.clj:38)”
“query_processor.middleware.enterprise$fn__73691$handle_audit_app_internal_queries__73692$fn__73694.invoke(enterprise.clj:96)”
“query_processor.middleware.enterprise$handle_audit_app_internal_queries_middleware$fn__73702.invoke(enterprise.clj:103)”
“query_processor.middleware.constraints$add_default_userland_constraints$fn__70675.invoke(constraints.clj:81)”
“query_processor.middleware.process_userland_query$process_userland_query$fn__74002.invoke(process_userland_query.clj:156)”
“query_processor.middleware.catch_exceptions$catch_exceptions$fn__74600.invoke(catch_exceptions.clj:171)”
“query_processor.reducible$async_qp$qp_STAR___62532$thunk__62534.invoke(reducible.clj:126)”
“query_processor.reducible$async_qp$qp_STAR___62532$fn__62536.invoke(reducible.clj:131)”],
:state “08000”}
{:status :failed,
:class java.sql.SQLNonTransientConnectionException,
:error “(conn=715130446) unexpected end of stream, read 0 bytes from 7 (socket was closed by server)”,
:stacktrace
[“org.mariadb.jdbc.internal.util.exceptions.ExceptionFactory.createException(ExceptionFactory.java:73)”
“org.mariadb.jdbc.internal.util.exceptions.ExceptionFactory.create(ExceptionFactory.java:158)”
“org.mariadb.jdbc.MariaDbStatement.executeExceptionEpilogue(MariaDbStatement.java:262)”
“org.mariadb.jdbc.MariaDbStatement.executeInternal(MariaDbStatement.java:362)”
“org.mariadb.jdbc.MariaDbStatement.execute(MariaDbStatement.java:500)”
“com.mchange.v2.c3p0.impl.NewProxyStatement.execute(NewProxyStatement.java:75)”
“–> driver.sql_jdbc.execute$fn__80988.invokeStatic(execute.clj:560)”
“driver.sql_jdbc.execute$fn__80988.invoke(execute.clj:558)”
"driver.sql_jdbc.execute$execute_statement_or_prepared_statement_BANG
.invokeStatic(execute.clj:568)”
“driver.sql_jdbc.execute$execute_statement_or_prepared_statement_BANG_.invoke(execute.clj:565)”
“driver.sql_jdbc.execute$execute_reducible_query$fn__81069$fn__81070.invoke(execute.clj:696)”
“driver.sql_jdbc.execute$execute_reducible_query$fn__81069.invoke(execute.clj:695)”
“driver.sql_jdbc.execute$fn__80864$fn__80865.invoke(execute.clj:388)”
“driver.sql_jdbc.execute$fn__80829$AMPERSAND_f__80830.invoke(execute.clj:334)"
“driver.sql_jdbc.execute$fn__80829$fn__80833.invoke(execute.clj:317)”
“driver.sql_jdbc.execute$fn__80864.invokeStatic(execute.clj:382)”
“driver.sql_jdbc.execute$fn__80864.invoke(execute.clj:380)”
“driver.sql_jdbc.execute$execute_reducible_query.invokeStatic(execute.clj:689)”
“driver.sql_jdbc.execute$execute_reducible_query.invoke(execute.clj:678)”
“driver.sql_jdbc.execute$execute_reducible_query.invokeStatic(execute.clj:686)”
“driver.sql_jdbc.execute$execute_reducible_query.invoke(execute.clj:678)”
“driver.sql_jdbc$fn__109934.invokeStatic(sql_jdbc.clj:82)”
“driver.sql_jdbc$fn__109934.invoke(sql_jdbc.clj:80)”
“query_processor.context$executef.invokeStatic(context.clj:60)”
“query_processor.context$executef.invoke(context.clj:49)”
“query_processor.context.default$default_runf.invokeStatic(default.clj:44)”
“query_processor.context.default$default_runf.invoke(default.clj:42)”
“query_processor.context$runf.invokeStatic(context.clj:46)”
“query_processor.context$runf.invoke(context.clj:40)”
“query_processor.reducible$identity_qp.invokeStatic(reducible.clj:39)”
“query_processor.reducible$identity_qp.invoke(reducible.clj:36)”
“query_processor.middleware.cache$maybe_return_cached_results$maybe_return_cached_results_STAR___73853.invoke(cache.clj:229)”
“query_processor.middleware.permissions$check_query_permissions$fn__67558.invoke(permissions.clj:140)”
“query_processor.middleware.enterprise$check_download_permissions_middleware$fn__73664.invoke(enterprise.clj:51)”
“query_processor.middleware.enterprise$maybe_apply_column_level_perms_check_middleware$fn__73674.invoke(enterprise.clj:64)”
“query_processor.middleware.mbql_to_native$mbql__GT_native$fn__72816.invoke(mbql_to_native.clj:24)”
“query_processor$fn__75056$combined_post_process__75061$combined_post_process_STAR___75062.invoke(query_processor.clj:261)”
“query_processor$fn__75056$combined_pre_process__75057$combined_pre_process_STAR___75058.invoke(query_processor.clj:258)”
“query_processor.middleware.fetch_source_query$resolve_card_id_source_tables$fn__67685.invoke(fetch_source_query.clj:303)”
“query_processor.middleware.resolve_database_and_driver$resolve_driver_and_database_local_values$fn__73764$fn__73768.invoke(resolve_database_and_driver.clj:77)”
“driver$do_with_driver.invokeStatic(driver.clj:94)”
“driver$do_with_driver.invoke(driver.clj:89)”
“query_processor.middleware.resolve_database_and_driver$resolve_driver_and_database_local_values$fn__73764.invoke(resolve_database_and_driver.clj:76)”
“query_processor.middleware.store$initialize_store$fn__68102$fn__68103.invoke(store.clj:14)”
“query_processor.store$do_with_metadata_provider.invokeStatic(store.clj:169)”
“query_processor.store$do_with_metadata_provider.invoke(store.clj:150)”
“query_processor.store$do_with_metadata_provider.invokeStatic(store.clj:158)”
“query_processor.store$do_with_metadata_provider.invoke(store.clj:150)”
“query_processor.middleware.store$initialize_store$fn__68102.invoke(store.clj:13)”
“query_processor.middleware.resolve_database_and_driver$resolve_database$fn__73761.invoke(resolve_database_and_driver.clj:60)”
“query_processor.middleware.normalize_query$normalize$fn__74071.invoke(normalize_query.clj:38)”
“query_processor.middleware.enterprise$fn__73691$handle_audit_app_internal_queries__73692$fn__73694.invoke(enterprise.clj:96)”
“query_processor.middleware.enterprise$handle_audit_app_internal_queries_middleware$fn__73702.invoke(enterprise.clj:103)”
“query_processor.middleware.constraints$add_default_userland_constraints$fn__70675.invoke(constraints.clj:81)”
“query_processor.middleware.process_userland_query$process_userland_query$fn__74002.invoke(process_userland_query.clj:156)”
“query_processor.middleware.catch_exceptions$catch_exceptions$fn__74600.invoke(catch_exceptions.clj:171)”
“query_processor.reducible$async_qp$qp_STAR___62532$thunk__62534.invoke(reducible.clj:126)”
“query_processor.reducible$async_qp$qp_STAR___62532$fn__62536.invoke(reducible.clj:131)”],
:state “08000”}
{:status :failed,
:class clojure.lang.ExceptionInfo,
:error “执行查询时出错:(conn=715130446) unexpected end of stream, read 0 bytes from 7 (socket was closed by server)”,
:stacktrace
[“–> driver.sql_jdbc.execute$execute_reducible_query$fn__81069$fn__81070.invoke(execute.clj:698)”
“driver.sql_jdbc.execute$execute_reducible_query$fn__81069.invoke(execute.clj:695)”
“driver.sql_jdbc.execute$fn__80864$fn__80865.invoke(execute.clj:388)”
“driver.sql_jdbc.execute$fn__80829$AMPERSAND_f__80830.invoke(execute.clj:334)"
“driver.sql_jdbc.execute$fn__80829$fn__80833.invoke(execute.clj:317)”
“driver.sql_jdbc.execute$fn__80864.invokeStatic(execute.clj:382)”
“driver.sql_jdbc.execute$fn__80864.invoke(execute.clj:380)”
“driver.sql_jdbc.execute$execute_reducible_query.invokeStatic(execute.clj:689)”
“driver.sql_jdbc.execute$execute_reducible_query.invoke(execute.clj:678)”
“driver.sql_jdbc.execute$execute_reducible_query.invokeStatic(execute.clj:686)”
“driver.sql_jdbc.execute$execute_reducible_query.invoke(execute.clj:678)”
“driver.sql_jdbc$fn__109934.invokeStatic(sql_jdbc.clj:82)”
“driver.sql_jdbc$fn__109934.invoke(sql_jdbc.clj:80)”
“query_processor.context$executef.invokeStatic(context.clj:60)”
“query_processor.context$executef.invoke(context.clj:49)”
“query_processor.context.default$default_runf.invokeStatic(default.clj:44)”
“query_processor.context.default$default_runf.invoke(default.clj:42)”
“query_processor.context$runf.invokeStatic(context.clj:46)”
“query_processor.context$runf.invoke(context.clj:40)”
“query_processor.reducible$identity_qp.invokeStatic(reducible.clj:39)”
“query_processor.reducible$identity_qp.invoke(reducible.clj:36)”
“query_processor.middleware.cache$maybe_return_cached_results$maybe_return_cached_results_STAR___73853.invoke(cache.clj:229)”
“query_processor.middleware.permissions$check_query_permissions$fn__67558.invoke(permissions.clj:140)”
“query_processor.middleware.enterprise$check_download_permissions_middleware$fn__73664.invoke(enterprise.clj:51)”
“query_processor.middleware.enterprise$maybe_apply_column_level_perms_check_middleware$fn__73674.invoke(enterprise.clj:64)”
“query_processor.middleware.mbql_to_native$mbql__GT_native$fn__72816.invoke(mbql_to_native.clj:24)”
“query_processor$fn__75056$combined_post_process__75061$combined_post_process_STAR___75062.invoke(query_processor.clj:261)”
“query_processor$fn__75056$combined_pre_process__75057$combined_pre_process_STAR___75058.invoke(query_processor.clj:258)”
“query_processor.middleware.fetch_source_query$resolve_card_id_source_tables$fn__67685.invoke(fetch_source_query.clj:303)”
“query_processor.middleware.resolve_database_and_driver$resolve_driver_and_database_local_values$fn__73764$fn__73768.invoke(resolve_database_and_driver.clj:77)”
“driver$do_with_driver.invokeStatic(driver.clj:94)”
“driver$do_with_driver.invoke(driver.clj:89)”
“query_processor.middleware.resolve_database_and_driver$resolve_driver_and_database_local_values$fn__73764.invoke(resolve_database_and_driver.clj:76)”
“query_processor.middleware.store$initialize_store$fn__68102$fn__68103.invoke(store.clj:14)”
“query_processor.store$do_with_metadata_provider.invokeStatic(store.clj:169)”
“query_processor.store$do_with_metadata_provider.invoke(store.clj:150)”
“query_processor.store$do_with_metadata_provider.invokeStatic(store.clj:158)”
“query_processor.store$do_with_metadata_provider.invoke(store.clj:150)”
“query_processor.middleware.store$initialize_store$fn__68102.invoke(store.clj:13)”
“query_processor.middleware.resolve_database_and_driver$resolve_database$fn__73761.invoke(resolve_database_and_driver.clj:60)”
“query_processor.middleware.normalize_query$normalize$fn__74071.invoke(normalize_query.clj:38)”
“query_processor.middleware.enterprise$fn__73691$handle_audit_app_internal_queries__73692$fn__73694.invoke(enterprise.clj:96)”
“query_processor.middleware.enterprise$handle_audit_app_internal_queries_middleware$fn__73702.invoke(enterprise.clj:103)”
“query_processor.middleware.constraints$add_default_userland_constraints$fn__70675.invoke(constraints.clj:81)”
“query_processor.middleware.process_userland_query$process_userland_query$fn__74002.invoke(process_userland_query.clj:156)”
“query_processor.middleware.catch_exceptions$catch_exceptions$fn__74600.invoke(catch_exceptions.clj:171)”
“query_processor.reducible$async_qp$qp_STAR___62532$thunk__62534.invoke(reducible.clj:126)”
“query_processor.reducible$async_qp$qp_STAR___62532$fn__62536.invoke(reducible.clj:131)”],
:error_type :invalid-query,
:ex-data
{:driver :mysql,
:sql
[“-- Metabase:: userID: 1 queryType: native queryHash: ef8051ad47b05e12efc08d238890224f0d60f720d3f1cc235bae8e2d9a17b0e6”
“select”
" count()"
“from”
" voice_call_log"
“where”
" is_warning"
" and created_on > current_date()"],
:params nil,
:type :invalid-query}}],
:action_id nil,
:error_type :invalid-query,
:json_query
{:constraints {:max-results 10000, :max-results-bare-rows 2000},
:type :native,
:middleware {:js-int-to-string? true, :ignore-cached-results? false},
:native
{:query "select count(
) from voice_call_log where is_warning and created_on > current_date()", :template-tags {}},
:viz-settings {},
:database 3,
:parameters [],
:async? true,
:cache-ttl nil},
:status :failed,
:class java.io.EOFException,
:stacktrace
[“org.mariadb.jdbc.internal.io.input.DecompressPacketInputStream.readBlocking(DecompressPacketInputStream.java:202)”
“org.mariadb.jdbc.internal.io.input.DecompressPacketInputStream.getPacketArray(DecompressPacketInputStream.java:118)”
“org.mariadb.jdbc.internal.io.input.DecompressPacketInputStream.getPacket(DecompressPacketInputStream.java:98)”
“org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.readPacket(AbstractQueryProtocol.java:1537)”
“org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.getResult(AbstractQueryProtocol.java:1518)”
“org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.executeQuery(AbstractQueryProtocol.java:257)”
“org.mariadb.jdbc.MariaDbStatement.executeInternal(MariaDbStatement.java:356)”
“org.mariadb.jdbc.MariaDbStatement.execute(MariaDbStatement.java:500)”
“com.mchange.v2.c3p0.impl.NewProxyStatement.execute(NewProxyStatement.java:75)”
“–> driver.sql_jdbc.execute$fn__80988.invokeStatic(execute.clj:560)”
“driver.sql_jdbc.execute$fn__80988.invoke(execute.clj:558)”
"driver.sql_jdbc.execute$execute_statement_or_prepared_statement_BANG
.invokeStatic(execute.clj:568)”
"driver.sql_jdbc.execute$execute_statement_or_prepared_statement_BANG
.invoke(execute.clj:565)”
“driver.sql_jdbc.execute$execute_reducible_query$fn__81069$fn__81070.invoke(execute.clj:696)”
“driver.sql_jdbc.execute$execute_reducible_query$fn__81069.invoke(execute.clj:695)”
“driver.sql_jdbc.execute$fn__80864$fn__80865.invoke(execute.clj:388)”
“driver.sql_jdbc.execute$fn__80829$_AMPERSAND_f__80830.invoke(execute.clj:334)”
“driver.sql_jdbc.execute$fn__80829$fn__80833.invoke(execute.clj:317)”
“driver.sql_jdbc.execute$fn__80864.invokeStatic(execute.clj:382)”
“driver.sql_jdbc.execute$fn__80864.invoke(execute.clj:380)”
“driver.sql_jdbc.execute$execute_reducible_query.invokeStatic(execute.clj:689)”
“driver.sql_jdbc.execute$execute_reducible_query.invoke(execute.clj:678)”
“driver.sql_jdbc.execute$execute_reducible_query.invokeStatic(execute.clj:686)”
“driver.sql_jdbc.execute$execute_reducible_query.invoke(execute.clj:678)”
“driver.sql_jdbc$fn__109934.invokeStatic(sql_jdbc.clj:82)”
“driver.sql_jdbc$fn__109934.invoke(sql_jdbc.clj:80)”
“query_processor.context$executef.invokeStatic(context.clj:60)”
“query_processor.context$executef.invoke(context.clj:49)”
“query_processor.context.default$default_runf.invokeStatic(default.clj:44)”
“query_processor.context.default$default_runf.invoke(default.clj:42)”
“query_processor.context$runf.invokeStatic(context.clj:46)”
“query_processor.context$runf.invoke(context.clj:40)”
“query_processor.reducible$identity_qp.invokeStatic(reducible.clj:39)”
“query_processor.reducible$identity_qp.invoke(reducible.clj:36)”
“query_processor.middleware.cache$maybe_return_cached_results$maybe_return_cached_results_STAR___73853.invoke(cache.clj:229)”
“query_processor.middleware.permissions$check_query_permissions$fn__67558.invoke(permissions.clj:140)”
“query_processor.middleware.enterprise$check_download_permissions_middleware$fn__73664.invoke(enterprise.clj:51)”
“query_processor.middleware.enterprise$maybe_apply_column_level_perms_check_middleware$fn__73674.invoke(enterprise.clj:64)”
“query_processor.middleware.mbql_to_native$mbql__GT_native$fn__72816.invoke(mbql_to_native.clj:24)”
“query_processor$fn__75056$combined_post_process__75061$combined_post_process_STAR___75062.invoke(query_processor.clj:261)”
“query_processor$fn__75056$combined_pre_process__75057$combined_pre_process_STAR___75058.invoke(query_processor.clj:258)”
“query_processor.middleware.fetch_source_query$resolve_card_id_source_tables$fn__67685.invoke(fetch_source_query.clj:303)”
“query_processor.middleware.resolve_database_and_driver$resolve_driver_and_database_local_values$fn__73764$fn__73768.invoke(resolve_database_and_driver.clj:77)”
“driver$do_with_driver.invokeStatic(driver.clj:94)”
“driver$do_with_driver.invoke(driver.clj:89)”
“query_processor.middleware.resolve_database_and_driver$resolve_driver_and_database_local_values$fn__73764.invoke(resolve_database_and_driver.clj:76)”
“query_processor.middleware.store$initialize_store$fn__68102$fn__68103.invoke(store.clj:14)”
“query_processor.store$do_with_metadata_provider.invokeStatic(store.clj:169)”
“query_processor.store$do_with_metadata_provider.invoke(store.clj:150)”
“query_processor.store$do_with_metadata_provider.invokeStatic(store.clj:158)”
“query_processor.store$do_with_metadata_provider.invoke(store.clj:150)”
“query_processor.middleware.store$initialize_store$fn__68102.invoke(store.clj:13)”
“query_processor.middleware.resolve_database_and_driver$resolve_database$fn__73761.invoke(resolve_database_and_driver.clj:60)”
“query_processor.middleware.normalize_query$normalize$fn__74071.invoke(normalize_query.clj:38)”
“query_processor.middleware.enterprise$fn__73691$handle_audit_app_internal_queries__73692$fn__73694.invoke(enterprise.clj:96)”
“query_processor.middleware.enterprise$handle_audit_app_internal_queries_middleware$fn__73702.invoke(enterprise.clj:103)”
“query_processor.middleware.constraints$add_default_userland_constraints$fn__70675.invoke(constraints.clj:81)”
“query_processor.middleware.process_userland_query$process_userland_query$fn__74002.invoke(process_userland_query.clj:156)”
“query_processor.middleware.catch_exceptions$catch_exceptions$fn__74600.invoke(catch_exceptions.clj:171)”
“query_processor.reducible$async_qp$qp_STAR___62532$thunk__62534.invoke(reducible.clj:126)”
“query_processor.reducible$async_qp$qp_STAR___62532$fn__62536.invoke(reducible.clj:131)”],
:card_id 56,
:context :dashboard,
:error “unexpected end of stream, read 0 bytes from 7 (socket was closed by server)”,
:row_count 0,
:running_time 0,
:data {:rows [], :cols []}}
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面

【附件:截图/日志/监控】

这应该是版本支持问题

似乎是 TiDB 有问题,我去瞄瞄看

1 个赞

metabase不都是通过jdbc包访问的吗?能连mysql8不能连tidb7.5?

存在一样的问题

是的,通过JDBC包(maralDBde jar包)去连接。但是就是7.5版本是失效的了,无法使用。之前都是正常的,程序连接也没有问题

3Q🙏

更换版本试试

新年新气象。

这个问题可能和 connection compression 的支持有关。metabase 默认启用了 compression。一个绕过的办法是配置 metabase 关闭 compression:

具体 compression 的问题还需要再看看 :man_facepalming:

2 个赞

:+1: :+1: :+1:

亲测好用。
tidb v7.5.0
metabase v0.46.6.4