For the complete documentation index, see llms.txt. This page is also available as Markdown.

Design Documents

Index of design documents and how to propose new ones

Design documents capture the motivation, technical approach, and trade-offs behind significant changes to Apache Pinot. They serve as a permanent record so that contributors and operators can understand why a feature works the way it does.

Purpose

  • Alignment -- A design doc lets the community review the approach before code is written, reducing rework.

  • Onboarding -- New contributors can read design docs to understand the reasoning behind major subsystems.

  • Auditability -- Design docs provide a historical record of architectural decisions.

When to write a design document

Write a design doc when your change involves any of the following:

  • A new major feature or subsystem (for example, a new index type, a new query engine phase, or a new ingestion path)

  • A significant change to an existing subsystem that alters its behavior or data format

  • A cross-component change that affects multiple Pinot services (controller, broker, server, minion)

  • A public API change that affects backward compatibility

Bug fixes, small enhancements, and documentation changes typically do not need a design doc.

How to propose a design document

  1. Open a GitHub issue describing the problem and proposed solution at a high level. Label it with design-doc or PEP (Pinot Enhancement Proposal).

  2. Write the design doc in a Google Doc (or equivalent) and share it with the Pinot dev mailing list (dev@pinot.apache.org). Include:

    • Problem statement and motivation

    • Proposed design with diagrams where helpful

    • API or configuration changes

    • Alternatives considered

    • Rollout and backward-compatibility plan

  3. Collect feedback from reviewers on the doc and the GitHub issue.

  4. Update this page by adding a row to the index table below once the design is accepted.

  5. Implement the feature following the Contribution Guidelines.

Design document index

In-repo design docs

Name
Description

API for programmatically building Pinot segments without a full batch ingestion job

2025

Name
Authors
Date

Ting Chen, Qiaochu Liu

Aug 2025

2024

Name
Authors
Date

2022

Name
Authors
Date

2021

Name
Authors
Date

Seunghyun Lee, Jialiang Li

Nov 2021

Atri Sharma

Oct 2021

Richard Startin

Sep 2021

Lakshmanan Velusamy, Weixiang Sun

Sep 2021

Atri Sharma

Sep 2021

Yupeng Fu

May 2021

Neha Pawar

Feb 2021

Qiaochu Liu

Feb 2021

2020

2019 and earlier

Last updated

Was this helpful?