apache / apache/pinot

[feature] Add Query Fingerprinting Feature on Pinot Brokers

Open
#16,765 1 comment 0 reactions 1 assignee Claimed by @MeihanLi View on GitHub
observability stale
Dominant language
Java
Stars
6.1k
Forks
1.5k
Avg merge
2d 55m
Merged PRs (30d)
182

Description

**Issue**
Pinot currently lacks query fingerprinting capabilities, making it difficult to analyze query patterns and identify performance issues. Query fingerprinting is a technique that generates a unique identifier (fingerprint) for queries by normalizing their structure while ignoring specific parameter values. This allows similar queries with different constants to be grouped together for analysis. At Uber, we added the query fingerprinting feature to Pinot gateways but ideally this should be contributed to Pinot OSS.

**Proposed Solution**
And Implement AST-based query fingerprinting that normalizes constants to placeholders (?) to capture semantic equivalence while ignoring specific values. We will compute fingerprints during query compilation in the compileRequest() method and store them in RequestContext, then use the existing broker event listener framework for fingerprint processing.

The feature should be controlled by feature flags and be off by default.

cc @ankitsultana

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.