Skip to content

Conversation

@shauryachats
Copy link
Collaborator

@shauryachats shauryachats commented Jan 3, 2026

Summary

This PR adds support for query options for timeseries engine (POST /query/timeseries) with the queryOptions key containing a map of query options to their respective values (not necessarily strings).
For example,

{
  "query": "fetch {} | transformNull",
  "queryOptions": {
    "numGroupsLimit": 1,
    "enableNullHandling": true
  }
}

The support for query options is only for the POST timeseries endpoint, not the GET timeseries (prometheus compatible) endpoint.

Testing

Successfully added integration tests to verify.

@shauryachats shauryachats added timeseries-engine Tracking tag for generic time-series engine work timeseries-general-availability Work for making Timeseries Engine GA in Pinot (e.g. Controller UI support, debuggability, etc.) labels Jan 3, 2026
@codecov-commenter
Copy link

codecov-commenter commented Jan 3, 2026

Codecov Report

❌ Patch coverage is 0% with 33 lines in your changes missing coverage. Please review.
✅ Project coverage is 63.26%. Comparing base (c7a8f5c) to head (6d0cdf2).

Files with missing lines Patch % Lines
...t/controller/api/resources/PinotQueryResource.java 0.00% 13 Missing ⚠️
...pinot/broker/api/resources/PinotClientRequest.java 0.00% 9 Missing ⚠️
...roker/requesthandler/TimeSeriesRequestHandler.java 0.00% 7 Missing ⚠️
.../apache/pinot/tsdb/spi/RangeTimeSeriesRequest.java 0.00% 3 Missing ⚠️
...rg/apache/pinot/tsdb/m3ql/M3TimeSeriesPlanner.java 0.00% 1 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##             master   #17454      +/-   ##
============================================
- Coverage     63.30%   63.26%   -0.04%     
  Complexity     1474     1474              
============================================
  Files          3162     3162              
  Lines        188643   188668      +25     
  Branches      28866    28869       +3     
============================================
- Hits         119417   119363      -54     
- Misses        59978    60060      +82     
+ Partials       9248     9245       -3     
Flag Coverage Δ
custom-integration1 100.00% <ø> (ø)
integration 100.00% <ø> (ø)
integration1 100.00% <ø> (ø)
integration2 0.00% <ø> (ø)
java-11 63.24% <0.00%> (-0.03%) ⬇️
java-21 63.24% <0.00%> (-0.01%) ⬇️
temurin 63.26% <0.00%> (-0.04%) ⬇️
unittests 63.26% <0.00%> (-0.04%) ⬇️
unittests1 55.59% <0.00%> (-0.02%) ⬇️
unittests2 34.00% <0.00%> (-0.03%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@shauryachats shauryachats force-pushed the timeseries_queryoptions branch from 769b1ee to c757bbd Compare January 5, 2026 23:10
@ankitsultana ankitsultana merged commit 82b7d2a into apache:master Jan 6, 2026
18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

timeseries-engine Tracking tag for generic time-series engine work timeseries-general-availability Work for making Timeseries Engine GA in Pinot (e.g. Controller UI support, debuggability, etc.)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants