Skip to content
Opensource internals
  • Posts

Query execution

ClickHouse Runs a Query Pipeline on N Threads: Task Queues, Work Stealing and a Pool That Grows on Demand

Oct 21, 2026 21 min read Jay Hubbert

ClickHouse doesn’t hand you max_threads threads. It starts with one, measures how much parallel work the pipeline actually creates, and grows the pool only when idle…

ClickhouseInternalsQuery executionConcurrency

Read more →

ClickHouse's Query Pipeline: Ports, Status Codes and the Executing Graph

Oct 21, 2026 20 min read Jay Hubbert

ClickHouse doesn’t call operators in a fixed order. Every processor reports a status — ‘I need data’, ‘my output is full’, ‘call my work()’ — and the executor walks the…

ClickhouseInternalsQuery executionConcurrency

Read more →

© 2026 Jay Hubbert · Built with Hugo 0.168.0

RSS ·