镜像站点 · 本页由第三方 GitHub 只读镜像提供,非 GitHub 官方站点,不接受任何登录或凭据输入。前往 github.com
Skip to content

[client-v2] Cannot read IPv4 address as IPv6 address #2140

Closed

Description

@chernser

Describe the bug

Copied from ClickHouse/metabase-clickhouse-driver#292

Describe the bug

Trying to display an IPv4 address from a field of type IPv6 results in the following error: Unsupported conversion from java.net.Inet4Address to java.net.Inet6Address

Steps to reproduce

CREATE TABLE addrs
(
addr IPv6
)
ENGINE = MergeTree()
PRIMARY KEY (addr);

INSERT INTO addrs VALUES ('::ffff:90.176.75.97');

SELECT addr FROM addrs;

Expected behaviour

Display the address in its IPv4 format or its mapped IPv6 format (which it used to display if I recall correctly).

Error log

2025-02-09 21:21:40,725 ERROR middleware.catch-exceptions :: Error processing query: Unsupported conversion from java.net.Inet4Address to java.net.Inet6Address
{:database_id 2,
 :parameterized false,
 :started_at #t "2025-02-09T21:21:40.704329489+01:00[Europe/Prague]",
 :via
 [{:status :failed,
   :class clojure.lang.ExceptionInfo,
   :error "Error reducing result rows: Unsupported conversion from java.net.Inet4Address to java.net.Inet6Address",
   :stacktrace
   ["--> query_processor.pipeline$_STAR_reduce_STAR_$fn__65537.invoke(pipeline.clj:79)"
    "query_processor.pipeline$_STAR_reduce_STAR_.invokeStatic(pipeline.clj:67)"
    "query_processor.pipeline$_STAR_reduce_STAR_.invoke(pipeline.clj:54)"
    "query_processor.pipeline$_STAR_run_STAR_$respond__65549.invoke(pipeline.clj:100)"
    "driver.sql_jdbc.execute$execute_reducible_query$fn__85670.invoke(execute.clj:725)"
    "driver.clickhouse$fn__117139$fn__117141.invoke(clickhouse.clj:111)"
    "driver.sql_jdbc.execute$do_with_resolved_connection85446__85447.invokeStatic(execute.clj:338)"
    "driver.sql_jdbc.execute$do_with_resolved_connection85446__85447.invoke(execute.clj:321)"
    "driver.clickhouse$fn__117139.invokeStatic(clickhouse.clj:88)"
    "driver.clickhouse$fn__117139.invoke(clickhouse.clj:86)"
    "driver.sql_jdbc.execute$execute_reducible_query.invokeStatic(execute.clj:708)"
    "driver.sql_jdbc.execute$execute_reducible_query.invoke(execute.clj:694)"
    "driver.sql_jdbc.execute$execute_reducible_query.invokeStatic(execute.clj:705)"
    "driver.sql_jdbc.execute$execute_reducible_query.invoke(execute.clj:694)"
    "driver.sql_jdbc$fn__117356.invokeStatic(sql_jdbc.clj:79)"
    "driver.sql_jdbc$fn__117356.invoke(sql_jdbc.clj:77)"
    "query_processor.pipeline$_STAR_execute_STAR_.invokeStatic(pipeline.clj:52)"
    "query_processor.pipeline$_STAR_execute_STAR_.invoke(pipeline.clj:39)"
    "query_processor.pipeline$_STAR_run_STAR_.invokeStatic(pipeline.clj:102)"
    "query_processor.pipeline$_STAR_run_STAR_.invoke(pipeline.clj:95)"
    "query_processor.execute$run.invokeStatic(execute.clj:62)"
    "query_processor.execute$run.invoke(execute.clj:56)"
    "query_processor.middleware.update_used_cards$update_used_cards_BANG_72189__72190$fn__72191.invoke(update_used_cards.clj:60)"
    "query_processor.execute$add_native_form_to_result_metadata$fn__72294.invoke(execute.clj:25)"
    "query_processor.execute$add_preprocessed_query_to_result_metadata_for_userland_query$fn__72300.invoke(execute.clj:36)"
    "query_processor.middleware.cache$maybe_return_cached_results$maybe_return_cached_results_STAR___72162.invoke(cache.clj:241)"
    "query_processor.middleware.permissions$check_query_permissions$fn__71935.invoke(permissions.clj:148)"
    "query_processor.middleware.enterprise$check_download_permissions_middleware$fn__72029.invoke(enterprise.clj:51)"
    "query_processor.middleware.enterprise$maybe_apply_column_level_perms_check_middleware$fn__72039.invoke(enterprise.clj:64)"
    "query_processor.execute$execute72327__72328$fn__72329.invoke(execute.clj:94)"
    "query_processor.setup$do_with_qp_setup72280__72281.invokeStatic(setup.clj:225)"
    "query_processor.setup$do_with_qp_setup72280__72281.invoke(setup.clj:216)"
    "query_processor.execute$execute72327__72328.invokeStatic(execute.clj:93)"
    "query_processor.execute$execute72327__72328.invoke(execute.clj:89)"
    "query_processor$process_query_STAR__STAR_.invokeStatic(query_processor.clj:49)"
    "query_processor$process_query_STAR__STAR_.invoke(query_processor.clj:44)"
    "query_processor.middleware.enterprise$fn__72056$handle_audit_app_internal_queries__72057$fn__72059.invoke(enterprise.clj:96)"
    "query_processor.middleware.enterprise$handle_audit_app_internal_queries_middleware$fn__72067.invoke(enterprise.clj:103)"
    "query_processor.middleware.process_userland_query$process_userland_query_middleware78358__78359$fn__78360.invoke(process_userland_query.clj:221)"
    "query_processor.middleware.catch_exceptions$catch_exceptions78423__78424$fn__78425.invoke(catch_exceptions.clj:132)"
    "query_processor$process_query78464__78465$fn__78466.invoke(query_processor.clj:80)"
    "query_processor.setup$do_with_canceled_chan72275__72276$fn__72277.invoke(setup.clj:187)"
    "query_processor.setup$do_with_database_local_settings72268__72269$fn__72270.invoke(setup.clj:181)"
    "query_processor.setup$do_with_driver72261__72262$fn__72263$fn__72264.invoke(setup.clj:166)"
    "driver$do_with_driver.invokeStatic(driver.clj:106)"
    "driver$do_with_driver.invoke(driver.clj:101)"
    "query_processor.setup$do_with_driver72261__72262$fn__72263.invoke(setup.clj:165)"
    "query_processor.setup$do_with_metadata_provider72252__72253$fn__72254$fn__72257.invoke(setup.clj:151)"
    "query_processor.store$do_with_metadata_provider57995__57996.invokeStatic(store.clj:170)"
    "query_processor.store$do_with_metadata_provider57995__57996.invoke(store.clj:150)"
    "query_processor.store$do_with_metadata_provider57995__57996.invokeStatic(store.clj:159)"
    "query_processor.store$do_with_metadata_provider57995__57996.invoke(store.clj:150)"
    "query_processor.setup$do_with_metadata_provider72252__72253$fn__72254.invoke(setup.clj:150)"
    "query_processor.setup$do_with_resolved_database72242__72243$fn__72244.invoke(setup.clj:128)"
    "query_processor.setup$do_with_qp_setup72280__72281.invokeStatic(setup.clj:232)"
    "query_processor.setup$do_with_qp_setup72280__72281.invoke(setup.clj:216)"
    "query_processor$process_query78464__78465.invokeStatic(query_processor.clj:78)"
    "query_processor$process_query78464__78465.invoke(query_processor.clj:71)"
    "api.dataset$run_streaming_query99475__99478$fn__99482.invoke(dataset.clj:81)"
    "query_processor.streaming$_streaming_response$fn__83544$fn__83545$fn__83546.invoke(streaming.clj:185)"
    "query_processor.streaming$_streaming_response$fn__83544$fn__83545.invoke(streaming.clj:183)"
    "query_processor.streaming$do_with_streaming_rff.invokeStatic(streaming.clj:174)"
    "query_processor.streaming$do_with_streaming_rff.invoke(streaming.clj:161)"
    "query_processor.streaming$_streaming_response$fn__83544.invoke(streaming.clj:180)"
    "server.streaming_response$do_f_STAR_.invokeStatic(streaming_response.clj:78)"
    "server.streaming_response$do_f_STAR_.invoke(streaming_response.clj:76)"
    "server.streaming_response$do_f_async$task__81534.invoke(streaming_response.clj:93)"],
   :error_type :qp,
   :ex-data {:type :qp}}],
 :action_id nil,
 :state "22000",
 :error_type :qp,
 :json_query
 {:database 2,
  :type "native",
  :native
  {:query
   "SELECT addr FROM addrs;",
   :template-tags {}},
  :parameters [],
  :middleware {:js-int-to-string? true, :userland-query? true, :add-default-userland-constraints? true}},
 :status :failed,
 :class java.sql.SQLException,
 :stacktrace
 ["com.clickhouse.jdbc.internal.JdbcUtils.convert(JdbcUtils.java:241)"
  "com.clickhouse.jdbc.ResultSetImpl.getObject(ResultSetImpl.java:1510)"
  "com.clickhouse.jdbc.ResultSetImpl.getObject(ResultSetImpl.java:1497)"
  "com.mchange.v2.c3p0.impl.NewProxyResultSet.getObject(NewProxyResultSet.java:4017)"
  "--> driver.clickhouse_qp$ipv6_column__GT_string.invokeStatic(clickhouse_qp.clj:524)"
  "driver.clickhouse_qp$ipv6_column__GT_string.invoke(clickhouse_qp.clj:522)"
  "driver.clickhouse_qp$fn__90347$fn__90348.invoke(clickhouse_qp.clj:536)"
  "util.performance$juxt_STAR_$fn__54012$fn__54013.invoke(performance.clj:130)"
  "util.performance$mapv$fn__53987.invoke(performance.clj:102)"
  "util.performance$reduce.invokeStatic(performance.clj:19)"
  "util.performance$reduce.invoke(performance.clj:9)"
  "util.performance$mapv.invokeStatic(performance.clj:102)"
  "util.performance$mapv.invoke(performance.clj:97)"
  "util.performance$juxt_STAR_$fn__54012.invoke(performance.clj:130)"
  "driver.sql_jdbc.execute$row_thunk$row_thunk_STAR___85650.invoke(execute.clj:646)"
  "query_processor.reducible$reducible_rows$reify__65562.reduce(reducible.clj:56)"
  "query_processor.pipeline$_STAR_reduce_STAR_$fn__65537.invoke(pipeline.clj:68)"
  "query_processor.pipeline$_STAR_reduce_STAR_.invokeStatic(pipeline.clj:67)"
  "query_processor.pipeline$_STAR_reduce_STAR_.invoke(pipeline.clj:54)"
  "query_processor.pipeline$_STAR_run_STAR_$respond__65549.invoke(pipeline.clj:100)"
  "driver.sql_jdbc.execute$execute_reducible_query$fn__85670.invoke(execute.clj:725)"
  "driver.clickhouse$fn__117139$fn__117141.invoke(clickhouse.clj:111)"
  "driver.sql_jdbc.execute$do_with_resolved_connection85446__85447.invokeStatic(execute.clj:338)"
  "driver.sql_jdbc.execute$do_with_resolved_connection85446__85447.invoke(execute.clj:321)"
  "driver.clickhouse$fn__117139.invokeStatic(clickhouse.clj:88)"
  "driver.clickhouse$fn__117139.invoke(clickhouse.clj:86)"
  "driver.sql_jdbc.execute$execute_reducible_query.invokeStatic(execute.clj:708)"
  "driver.sql_jdbc.execute$execute_reducible_query.invoke(execute.clj:694)"
  "driver.sql_jdbc.execute$execute_reducible_query.invokeStatic(execute.clj:705)"
  "driver.sql_jdbc.execute$execute_reducible_query.invoke(execute.clj:694)"
  "driver.sql_jdbc$fn__117356.invokeStatic(sql_jdbc.clj:79)"
  "driver.sql_jdbc$fn__117356.invoke(sql_jdbc.clj:77)"
  "query_processor.pipeline$_STAR_execute_STAR_.invokeStatic(pipeline.clj:52)"
  "query_processor.pipeline$_STAR_execute_STAR_.invoke(pipeline.clj:39)"
  "query_processor.pipeline$_STAR_run_STAR_.invokeStatic(pipeline.clj:102)"
  "query_processor.pipeline$_STAR_run_STAR_.invoke(pipeline.clj:95)"
  "query_processor.execute$run.invokeStatic(execute.clj:62)"
  "query_processor.execute$run.invoke(execute.clj:56)"
  "query_processor.middleware.update_used_cards$update_used_cards_BANG_72189__72190$fn__72191.invoke(update_used_cards.clj:60)"
  "query_processor.execute$add_native_form_to_result_metadata$fn__72294.invoke(execute.clj:25)"
  "query_processor.execute$add_preprocessed_query_to_result_metadata_for_userland_query$fn__72300.invoke(execute.clj:36)"
  "query_processor.middleware.cache$maybe_return_cached_results$maybe_return_cached_results_STAR___72162.invoke(cache.clj:241)"
  "query_processor.middleware.permissions$check_query_permissions$fn__71935.invoke(permissions.clj:148)"
  "query_processor.middleware.enterprise$check_download_permissions_middleware$fn__72029.invoke(enterprise.clj:51)"
  "query_processor.middleware.enterprise$maybe_apply_column_level_perms_check_middleware$fn__72039.invoke(enterprise.clj:64)"
  "query_processor.execute$execute72327__72328$fn__72329.invoke(execute.clj:94)"
  "query_processor.setup$do_with_qp_setup72280__72281.invokeStatic(setup.clj:225)"
  "query_processor.setup$do_with_qp_setup72280__72281.invoke(setup.clj:216)"
  "query_processor.execute$execute72327__72328.invokeStatic(execute.clj:93)"
  "query_processor.execute$execute72327__72328.invoke(execute.clj:89)"
  "query_processor$process_query_STAR__STAR_.invokeStatic(query_processor.clj:49)"
  "query_processor$process_query_STAR__STAR_.invoke(query_processor.clj:44)"
  "query_processor.middleware.enterprise$fn__72056$handle_audit_app_internal_queries__72057$fn__72059.invoke(enterprise.clj:96)"
  "query_processor.middleware.enterprise$handle_audit_app_internal_queries_middleware$fn__72067.invoke(enterprise.clj:103)"
  "query_processor.middleware.process_userland_query$process_userland_query_middleware78358__78359$fn__78360.invoke(process_userland_query.clj:221)"
  "query_processor.middleware.catch_exceptions$catch_exceptions78423__78424$fn__78425.invoke(catch_exceptions.clj:132)"
  "query_processor$process_query78464__78465$fn__78466.invoke(query_processor.clj:80)"
  "query_processor.setup$do_with_canceled_chan72275__72276$fn__72277.invoke(setup.clj:187)"
  "query_processor.setup$do_with_database_local_settings72268__72269$fn__72270.invoke(setup.clj:181)"
  "query_processor.setup$do_with_driver72261__72262$fn__72263$fn__72264.invoke(setup.clj:166)"
  "driver$do_with_driver.invokeStatic(driver.clj:106)"
  "driver$do_with_driver.invoke(driver.clj:101)"
  "query_processor.setup$do_with_driver72261__72262$fn__72263.invoke(setup.clj:165)"
  "query_processor.setup$do_with_metadata_provider72252__72253$fn__72254$fn__72257.invoke(setup.clj:151)"
  "query_processor.store$do_with_metadata_provider57995__57996.invokeStatic(store.clj:170)"
  "query_processor.store$do_with_metadata_provider57995__57996.invoke(store.clj:150)"
  "query_processor.store$do_with_metadata_provider57995__57996.invokeStatic(store.clj:159)"
  "query_processor.store$do_with_metadata_provider57995__57996.invoke(store.clj:150)"
  "query_processor.setup$do_with_metadata_provider72252__72253$fn__72254.invoke(setup.clj:150)"
  "query_processor.setup$do_with_resolved_database72242__72243$fn__72244.invoke(setup.clj:128)"
  "query_processor.setup$do_with_qp_setup72280__72281.invokeStatic(setup.clj:232)"
  "query_processor.setup$do_with_qp_setup72280__72281.invoke(setup.clj:216)"
  "query_processor$process_query78464__78465.invokeStatic(query_processor.clj:78)"
  "query_processor$process_query78464__78465.invoke(query_processor.clj:71)"
  "api.dataset$run_streaming_query99475__99478$fn__99482.invoke(dataset.clj:81)"
  "query_processor.streaming$_streaming_response$fn__83544$fn__83545$fn__83546.invoke(streaming.clj:185)"
  "query_processor.streaming$_streaming_response$fn__83544$fn__83545.invoke(streaming.clj:183)"
  "query_processor.streaming$do_with_streaming_rff.invokeStatic(streaming.clj:174)"
  "query_processor.streaming$do_with_streaming_rff.invoke(streaming.clj:161)"
  "query_processor.streaming$_streaming_response$fn__83544.invoke(streaming.clj:180)"
  "server.streaming_response$do_f_STAR_.invokeStatic(streaming_response.clj:78)"
  "server.streaming_response$do_f_STAR_.invoke(streaming_response.clj:76)"
  "server.streaming_response$do_f_async$task__81534.invoke(streaming_response.clj:93)"],
 :card_id nil,
 :context :ad-hoc,
 :error "Unsupported conversion from java.net.Inet4Address to java.net.Inet6Address",
 :row_count 0,
 :running_time 0,
 :data {:rows [], :cols []}}

Configuration

Environment

  • metabase-clickhouse-driver version: 1.53.0
  • metabase-clickhouse-driver configuration: Default, I did not change anything.
  • Metabase version: 0.53.1
  • OS: Oracle Linux Server 8.10

ClickHouse server

  • ClickHouse Server version: 25.1.3.23 (official build)
  • ClickHouse Server non-default settings, if any: ...
  • CREATE TABLE statements for tables involved: See steps to reproduce.
  • Sample data for all these tables, use clickhouse-obfuscator if necessary: See steps to reproduce.

Activity

  1. added this to the Priority Backlog milestone on Feb 11, 2025
  2. samssh commented on Feb 12, 2025

    @samssh
    Contributor

    Can I take this issue? I think I know how to fix it.

  3. chernser commented on Feb 12, 2025

    @chernser
    ContributorAuthor

    @samssh yes, sure!
    Thanks!

  4. removed this from the Priority Backlog milestone on Apr 2, 2025
  5. added this to the 0.8.3 milestone on Apr 2, 2025
  6. Filip62 commented on Apr 28, 2025

    @Filip62

    The issue this was supposed to fix is still present, see metabase/metabase#57352.

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

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions