ClickHouse / ClickHouse/clickhouse-java

[client-v2] POJO serialization: Skipped fields still consume memory

Open
#2,928 0 comments 0 reactions 0 assignees View on GitHub
client-api-v2 performance
Dominant language
Java
Stars
1.6k
Forks
636
Avg merge
2d 16h
Merged PRs (30d)
28

Description

### Description

Method `com.clickhouse.client.api.data_formats.internal.BinaryStreamReader#skipValue` internally calls `readValue` and does complete read and object creation. This may be critical when many `BigInteger` fields are skipped but still consume memory.

Expected that next evolution of the reader will have option to read or skip bytes from stream entirely.

Contributor guide

Open the contributing guide

Research direction

Start in com.clickhouse.client.api.data_formats.internal.BinaryStreamReader#skipValue and inspect how it delegates to readValue and advances the stream. Done means skipped values, including BigInteger fields, no longer require full object creation while the reader remains correctly positioned for the next value; add or update focused reader tests if the surrounding test structure identifies them.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
backend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.