Skip to content

Connection Terminates Unexpectedly When Using NULL Value for UUID #140

@rahul-taplane

Description

@rahul-taplane

In pg_clickhouse inserting a NULL value into a ClickHouse table that contains a UUID column fails with:

Connection terminated unexpectedly

The Clickhouse logs show:

2026.01.30 10:58:04.440246 [ 87 ] {8aad328f-da2a-438c-a2c9-9c77608b45e1} <Error> TCPHandler: Can't skip excessive input packets after the exception. Close connection.: Code: 32. DB::Exception: Attempt to read after eof. (ATTEMPT_TO_READ_AFTER_EOF), Stack trace (when copying this message, always include the lines below):


0. DB::Exception::Exception(DB::Exception::MessageMasked&&, int, bool) @ 0x00000000163a0f6a

1. DB::Exception::Exception(String&&, int, String, bool) @ 0x000000000de0034e

2. DB::Exception::Exception(PreformattedMessage&&, int) @ 0x000000000ddffd40

3. DB::Exception::Exception<>(int, FormatStringHelperImpl<>) @ 0x000000000de149b6

4. DB::throwReadAfterEOF() @ 0x00000000164b0f0f

5. DB::TCPHandler::receivePacketsExpectData(DB::QueryState&) @ 0x000000001cf9fbbb

6. DB::TCPHandler::skipData(DB::QueryState&) @ 0x000000001cf96e03

7. DB::TCPHandler::runImpl() @ 0x000000001cf86020

8. DB::TCPHandler::run() @ 0x000000001cfa5f24

9. Poco::Net::TCPServerConnection::start() @ 0x00000000223ba5c7

10. Poco::Net::TCPServerDispatcher::run() @ 0x00000000223baab1

11. Poco::PooledThread::run() @ 0x000000002237a71c

12. Poco::ThreadImpl::runnableEntry(void*) @ 0x0000000022378bcf

13. ? @ 0x0000000000094ac3

14. clone @ 0x0000000000125a74

 (version 25.12.1.649 (official build))

2026.01.30 10:58:04.441090 [ 87 ] {} <Error> TCPHandler: Code: 32. DB::Exception: Attempt to read after eof. (ATTEMPT_TO_READ_AFTER_EOF), Stack trace (when copying this message, always include the lines below):


0. DB::Exception::Exception(DB::Exception::MessageMasked&&, int, bool) @ 0x00000000163a0f6a

1. DB::Exception::Exception(String&&, int, String, bool) @ 0x000000000de0034e

2. DB::Exception::Exception(PreformattedMessage&&, int) @ 0x000000000ddffd40

3. DB::Exception::Exception<>(int, FormatStringHelperImpl<>) @ 0x000000000de149b6

4. DB::throwReadAfterEOF() @ 0x00000000164b0f0f

5. DB::TCPHandler::receivePacketsExpectData(DB::QueryState&) @ 0x000000001cf9fbbb

6. DB::TCPHandler::processInsertQuery(DB::QueryState&) @ 0x000000001cf93ef3

7. DB::TCPHandler::runImpl() @ 0x000000001cf83d29

8. DB::TCPHandler::run() @ 0x000000001cfa5f24

9. Poco::Net::TCPServerConnection::start() @ 0x00000000223ba5c7

10. Poco::Net::TCPServerDispatcher::run() @ 0x00000000223baab1

11. Poco::PooledThread::run() @ 0x000000002237a71c

12. Poco::ThreadImpl::runnableEntry(void*) @ 0x0000000022378bcf

13. ? @ 0x0000000000094ac3

14. clone @ 0x0000000000125a74

ClickHouse table

CREATE TABLE test.uuid_test
(
    id     UUID,
    ref_id Nullable(UUID),
    value  String
) ENGINE = MergeTree()
      ORDER BY id;

Postgres Query

INSERT INTO test.uuid_test (id, ref_id, value)
VALUES (
  '550e8400-e29b-41d4-a716-446655440000',
  NULL,
  'hello'
);

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingdata typesImprove data type support

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions