Skip to content

IPv4 address mapped inside a field of type IPv6 using ClickHouse causes error (still) #57352

@Filip62

Description

@Filip62

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

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 behavior

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

Logs

Metabase server logs:

2025-04-28 21:41:37,433 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-04-28T21:41:37.389538166+02: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__62837.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__62849.invoke(pipeline.clj:100)"
    "driver.sql_jdbc.execute$execute_reducible_query$fn__89494.invoke(execute.clj:755)"
    "driver.clickhouse$fn__137567$fn__137581.invoke(clickhouse.clj:114)"
    "driver.sql_jdbc.execute$do_with_resolved_connection89253__89254.invokeStatic(execute.clj:339)"
    "driver.sql_jdbc.execute$do_with_resolved_connection89253__89254.invoke(execute.clj:322)"
    "driver.clickhouse$fn__137567.invokeStatic(clickhouse.clj:91)"
    "driver.clickhouse$fn__137567.invoke(clickhouse.clj:89)"
    "driver.sql_jdbc.execute$execute_reducible_query.invokeStatic(execute.clj:738)"
    "driver.sql_jdbc.execute$execute_reducible_query.invoke(execute.clj:724)"
    "driver.sql_jdbc.execute$execute_reducible_query.invokeStatic(execute.clj:735)"
    "driver.sql_jdbc.execute$execute_reducible_query.invoke(execute.clj:724)"
    "driver.sql_jdbc$fn__123988.invokeStatic(sql_jdbc.clj:79)"
    "driver.sql_jdbc$fn__123988.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_76450__76451$fn__76452.invoke(update_used_cards.clj:62)"
    "query_processor.execute$add_native_form_to_result_metadata$fn__76555.invoke(execute.clj:25)"
    "query_processor.execute$add_preprocessed_query_to_result_metadata_for_userland_query$fn__76561.invoke(execute.clj:36)"
    "query_processor.middleware.cache$maybe_return_cached_results$maybe_return_cached_results_STAR___76398.invoke(cache.clj:241)"
    "query_processor.middleware.permissions$check_query_permissions$fn__76164.invoke(permissions.clj:148)"
    "query_processor.middleware.enterprise$check_download_permissions_middleware$fn__76265.invoke(enterprise.clj:57)"
    "query_processor.middleware.enterprise$maybe_apply_column_level_perms_check_middleware$fn__76275.invoke(enterprise.clj:70)"
    "query_processor.execute$execute76588__76589$fn__76590.invoke(execute.clj:94)"
    "query_processor.setup$do_with_qp_setup76541__76542.invokeStatic(setup.clj:225)"
    "query_processor.setup$do_with_qp_setup76541__76542.invoke(setup.clj:216)"
    "query_processor.execute$execute76588__76589.invokeStatic(execute.clj:93)"
    "query_processor.execute$execute76588__76589.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__76292$handle_audit_app_internal_queries__76293$fn__76295.invoke(enterprise.clj:102)"
    "query_processor.middleware.enterprise$handle_audit_app_internal_queries_middleware$fn__76303.invoke(enterprise.clj:109)"
    "query_processor.middleware.process_userland_query$process_userland_query_middleware83812__83813$fn__83814.invoke(process_userland_query.clj:221)"
    "query_processor.middleware.catch_exceptions$catch_exceptions83877__83878$fn__83879.invoke(catch_exceptions.clj:135)"
    "query_processor$process_query83918__83919$fn__83920.invoke(query_processor.clj:80)"
    "query_processor.setup$do_with_canceled_chan76536__76537$fn__76538.invoke(setup.clj:187)"
    "query_processor.setup$do_with_database_local_settings76529__76530$fn__76531.invoke(setup.clj:181)"
    "query_processor.setup$do_with_driver76522__76523$fn__76524$fn__76525.invoke(setup.clj:166)"
    "driver$do_with_driver.invokeStatic(driver.clj:112)"
    "driver$do_with_driver.invoke(driver.clj:107)"
    "query_processor.setup$do_with_driver76522__76523$fn__76524.invoke(setup.clj:165)"
    "query_processor.setup$do_with_metadata_provider76513__76514$fn__76515$fn__76518.invoke(setup.clj:151)"
    "query_processor.store$do_with_metadata_provider56069__56070.invokeStatic(store.clj:170)"
    "query_processor.store$do_with_metadata_provider56069__56070.invoke(store.clj:150)"
    "query_processor.store$do_with_metadata_provider56069__56070.invokeStatic(store.clj:159)"
    "query_processor.store$do_with_metadata_provider56069__56070.invoke(store.clj:150)"
    "query_processor.setup$do_with_metadata_provider76513__76514$fn__76515.invoke(setup.clj:150)"
    "query_processor.setup$do_with_resolved_database76503__76504$fn__76505.invoke(setup.clj:128)"
    "query_processor.setup$do_with_qp_setup76541__76542.invokeStatic(setup.clj:232)"
    "query_processor.setup$do_with_qp_setup76541__76542.invoke(setup.clj:216)"
    "query_processor$process_query83918__83919.invokeStatic(query_processor.clj:78)"
    "query_processor$process_query83918__83919.invoke(query_processor.clj:71)"
    "api.dataset$run_streaming_query102353__102356$fn__102360.invoke(dataset.clj:82)"
    "query_processor.streaming$_streaming_response$fn__88536$fn__88537$fn__88538.invoke(streaming.clj:185)"
    "query_processor.streaming$_streaming_response$fn__88536$fn__88537.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__88536.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__86475.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 {:template-tags {}, :query "SELECT addr FROM addrs"},
  :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:519)"
  "driver.clickhouse_qp$ipv6_column__GT_string.invoke(clickhouse_qp.clj:517)"
  "driver.clickhouse_qp$fn__135775$fn__135776.invoke(clickhouse_qp.clj:531)"
  "util.performance$juxt_STAR_$fn__30969$fn__30970.invoke(performance.clj:130)"
  "util.performance$mapv$fn__30944.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__30969.invoke(performance.clj:130)"
  "driver.sql_jdbc.execute$row_thunk$row_thunk_STAR___89462.invoke(execute.clj:653)"
  "query_processor.reducible$reducible_rows$reify__69661.reduce(reducible.clj:56)"
  "query_processor.pipeline$_STAR_reduce_STAR_$fn__62837.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__62849.invoke(pipeline.clj:100)"
  "driver.sql_jdbc.execute$execute_reducible_query$fn__89494.invoke(execute.clj:755)"
  "driver.clickhouse$fn__137567$fn__137581.invoke(clickhouse.clj:114)"
  "driver.sql_jdbc.execute$do_with_resolved_connection89253__89254.invokeStatic(execute.clj:339)"
  "driver.sql_jdbc.execute$do_with_resolved_connection89253__89254.invoke(execute.clj:322)"
  "driver.clickhouse$fn__137567.invokeStatic(clickhouse.clj:91)"
  "driver.clickhouse$fn__137567.invoke(clickhouse.clj:89)"
  "driver.sql_jdbc.execute$execute_reducible_query.invokeStatic(execute.clj:738)"
  "driver.sql_jdbc.execute$execute_reducible_query.invoke(execute.clj:724)"
  "driver.sql_jdbc.execute$execute_reducible_query.invokeStatic(execute.clj:735)"
  "driver.sql_jdbc.execute$execute_reducible_query.invoke(execute.clj:724)"
  "driver.sql_jdbc$fn__123988.invokeStatic(sql_jdbc.clj:79)"
  "driver.sql_jdbc$fn__123988.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_76450__76451$fn__76452.invoke(update_used_cards.clj:62)"
  "query_processor.execute$add_native_form_to_result_metadata$fn__76555.invoke(execute.clj:25)"
  "query_processor.execute$add_preprocessed_query_to_result_metadata_for_userland_query$fn__76561.invoke(execute.clj:36)"
  "query_processor.middleware.cache$maybe_return_cached_results$maybe_return_cached_results_STAR___76398.invoke(cache.clj:241)"
  "query_processor.middleware.permissions$check_query_permissions$fn__76164.invoke(permissions.clj:148)"
  "query_processor.middleware.enterprise$check_download_permissions_middleware$fn__76265.invoke(enterprise.clj:57)"
  "query_processor.middleware.enterprise$maybe_apply_column_level_perms_check_middleware$fn__76275.invoke(enterprise.clj:70)"
  "query_processor.execute$execute76588__76589$fn__76590.invoke(execute.clj:94)"
  "query_processor.setup$do_with_qp_setup76541__76542.invokeStatic(setup.clj:225)"
  "query_processor.setup$do_with_qp_setup76541__76542.invoke(setup.clj:216)"
  "query_processor.execute$execute76588__76589.invokeStatic(execute.clj:93)"
  "query_processor.execute$execute76588__76589.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__76292$handle_audit_app_internal_queries__76293$fn__76295.invoke(enterprise.clj:102)"
  "query_processor.middleware.enterprise$handle_audit_app_internal_queries_middleware$fn__76303.invoke(enterprise.clj:109)"
  "query_processor.middleware.process_userland_query$process_userland_query_middleware83812__83813$fn__83814.invoke(process_userland_query.clj:221)"
  "query_processor.middleware.catch_exceptions$catch_exceptions83877__83878$fn__83879.invoke(catch_exceptions.clj:135)"
  "query_processor$process_query83918__83919$fn__83920.invoke(query_processor.clj:80)"
  "query_processor.setup$do_with_canceled_chan76536__76537$fn__76538.invoke(setup.clj:187)"
  "query_processor.setup$do_with_database_local_settings76529__76530$fn__76531.invoke(setup.clj:181)"
  "query_processor.setup$do_with_driver76522__76523$fn__76524$fn__76525.invoke(setup.clj:166)"
  "driver$do_with_driver.invokeStatic(driver.clj:112)"
  "driver$do_with_driver.invoke(driver.clj:107)"
  "query_processor.setup$do_with_driver76522__76523$fn__76524.invoke(setup.clj:165)"
  "query_processor.setup$do_with_metadata_provider76513__76514$fn__76515$fn__76518.invoke(setup.clj:151)"
  "query_processor.store$do_with_metadata_provider56069__56070.invokeStatic(store.clj:170)"
  "query_processor.store$do_with_metadata_provider56069__56070.invoke(store.clj:150)"
  "query_processor.store$do_with_metadata_provider56069__56070.invokeStatic(store.clj:159)"
  "query_processor.store$do_with_metadata_provider56069__56070.invoke(store.clj:150)"
  "query_processor.setup$do_with_metadata_provider76513__76514$fn__76515.invoke(setup.clj:150)"
  "query_processor.setup$do_with_resolved_database76503__76504$fn__76505.invoke(setup.clj:128)"
  "query_processor.setup$do_with_qp_setup76541__76542.invokeStatic(setup.clj:232)"
  "query_processor.setup$do_with_qp_setup76541__76542.invoke(setup.clj:216)"
  "query_processor$process_query83918__83919.invokeStatic(query_processor.clj:78)"
  "query_processor$process_query83918__83919.invoke(query_processor.clj:71)"
  "api.dataset$run_streaming_query102353__102356$fn__102360.invoke(dataset.clj:82)"
  "query_processor.streaming$_streaming_response$fn__88536$fn__88537$fn__88538.invoke(streaming.clj:185)"
  "query_processor.streaming$_streaming_response$fn__88536$fn__88537.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__88536.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__86475.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 []}}

Information about your Metabase installation

{
  "browser-info": {
    "language": "en-US",
    "platform": "Linux x86_64",
    "userAgent": "Mozilla/5.0 (X11; Linux x86_64; rv:137.0) Gecko/20100101 Firefox/137.0",
    "vendor": ""
  },
  "metabase-info": {
    "databases": [
      "clickhouse"
    ],
    "run-mode": "prod",
    "plan-alias": "",
    "version": {
      "date": "2025-04-15",
      "tag": "v0.54.3",
      "hash": "6b5b460"
    },
    "settings": {
      "report-timezone": "Europe/Prague"
    },
    "hosting-env": "unknown",
    "application-database": "h2",
    "application-database-details": {
      "database": {
        "name": "H2",
        "version": "2.1.214 (2022-06-13)"
      },
      "jdbc-driver": {
        "name": "H2 JDBC Driver",
        "version": "2.1.214 (2022-06-13)"
      }
    }
  },
  "system-info": {
    "file.encoding": "UTF-8",
    "java.runtime.name": "OpenJDK Runtime Environment",
    "java.runtime.version": "21.0.6+7-LTS",
    "java.vendor": "Eclipse Adoptium",
    "java.vendor.url": "https://adoptium.net/",
    "java.version": "21.0.6",
    "java.vm.name": "OpenJDK 64-Bit Server VM",
    "java.vm.version": "21.0.6+7-LTS",
    "os.name": "Linux",
    "os.version": "4.18.0-477.10.1.el8_8.x86_64",
    "user.language": "en",
    "user.timezone": "Europe/Prague"
  }
}

Severity

Blocking upgrade and usage, for me at least. Every table I deal with triggers this behavior. I must run old versions to use Metabase.

Additional context

This bug has already been reported, by me, in the old not yet integrated ClickHouse driver repository, see ClickHouse/metabase-clickhouse-driver#292.

It was closed by the maintainers, but I did not have the time to try until now, and it most certainly is not fixed.

It it still exactly the same issue. I am providing new Metabase server logs. Otherwise this is pretty much a copy.

It may be that the root cause still lies in the new ClickHouse JDBC driver see the discussion and linked issues in the linked issue above.

ClickHouse version: ClickHouse server version 25.4.1.2934 (official build). OS: Oracle Linux Server 8.10

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions