Skip to content
Opensource internals
  • Posts

Posts

All posts published on this site.

Everything published here, newest first.

ClickHouse Keeper's Raft Log Carries a Tree Digest: A Mismatch Terminates the Replica

Oct 18, 2026 14 min read Jay Hubbert

Keeper puts a digest of its node tree inside every Raft log entry; a follower whose recomputed digest disagrees with the leader’s kills itself.

ClickhouseKeeperRaftZookeeperInternals

Read more →

ClickHouse Runs ON CLUSTER DDL Through ZooKeeper: The Result Is a Directory Listing

Oct 18, 2026 16 min read Jay Hubbert

Distributed DDL is a ZooKeeper queue of sequential entries plus a per-host finished directory that the initiator lists to collect results.

ClickhouseDistributedZookeeperDdlInternals

Read more →

ClickHouse Batches Async Inserts: A UInt128 Key Over the AST, the User and the Settings

Oct 18, 2026 22 min read Jay Hubbert

ClickHouse hashes each async insert into a per-key buffer and flushes it on size, count, or an adaptive deadline.

ClickhouseInternalsInsertAsyncBatching

Read more →

ClickHouse Picks a Projection by Counting Marks: How a Secondary Index Beats the Primary One

Oct 18, 2026 14 min read Jay Hubbert

ClickHouse scores each projection by the marks it must read, including the parts it cannot serve, and picks the cheapest.

ClickhouseInternalsMergetreeProjectionsQuery planning

Read more →

ClickHouse's RECOMPRESS TTL Rewrites a Whole Part: The Part Remembers Which Codec It Wrote

Oct 18, 2026 13 min read Jay Hubbert

A RECOMPRESS TTL rewrites a whole part with a new codec once all of its rows have expired.

ClickhouseInternalsMergetreeTtlCompression

Read more →

← Newer Page 63 of 86 Older →

© 2026 Jay Hubbert · Built with Hugo 0.168.0

RSS ·