clickhouse-java icon indicating copy to clipboard operation
clickhouse-java copied to clipboard

If received NetException from ClickHouse in response body, it will be ignored and unrecognized

Open DNAlchemist opened this issue 8 months ago • 1 comments

Describe the bug

The ClickHouse Java driver suppresses error messages that contain DB::NetException due to a hardcoded substring match for DB::Exception. In log we receiving Caused by: com.clickhouse.client.api.ServerException: Code: 279. DB::Exception: <Unreadable error message> (transport error: 500)

This causes legitimate network-related errors to be hidden, making debugging difficult.

Steps to reproduce

  1. Receive NetException from ClickHouse in response (e.g., due to missing table in cluster -> cluster integration or any network failure).

Expected behaviour

The error message containing DB::NetException should be properly logged and exposed to the client, similar to DB::Exception.

Code example

// Relevant source in the driver
// https://github.com/ClickHouse/clickhouse-java/blob/main/client-v2/src/main/java/com/clickhouse/client/api/internal/HttpAPIClientHelper.java#L316C33-L316C58

// The current implementation expects only "DB::Exception"
// But actual response contains "DB::NetException"

DNAlchemist avatar Apr 07 '25 18:04 DNAlchemist

@DNAlchemist thank you for reporting!

chernser avatar Apr 16 '25 04:04 chernser