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), in the same format as the SQL endpoint (POST /query/sql) i.e. query options through the JSON payload.

{
  "query": "fetch {} | transformNull",
  "queryOptions": "enableNullHandling=true; skipUpsert=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 behaviour.

@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 13 lines in your changes missing coverage. Please review.
✅ Project coverage is 63.27%. Comparing base (668bf02) to head (769b1ee).
⚠️ Report is 1 commits behind head on master.

Files with missing lines Patch % Lines
...t/controller/api/resources/PinotQueryResource.java 0.00% 8 Missing ⚠️
.../apache/pinot/tsdb/spi/RangeTimeSeriesRequest.java 0.00% 3 Missing ⚠️
...roker/requesthandler/TimeSeriesRequestHandler.java 0.00% 1 Missing ⚠️
...rg/apache/pinot/tsdb/m3ql/M3TimeSeriesPlanner.java 0.00% 1 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##             master   #17454      +/-   ##
============================================
- Coverage     63.28%   63.27%   -0.01%     
  Complexity     1474     1474              
============================================
  Files          3161     3161              
  Lines        188588   188596       +8     
  Branches      28857    28859       +2     
============================================
- Hits         119345   119334      -11     
- Misses        59992    60010      +18     
- Partials       9251     9252       +1     
Flag Coverage Δ
custom-integration1 100.00% <ø> (ø)
integration 100.00% <ø> (ø)
integration1 100.00% <ø> (ø)
integration2 0.00% <ø> (?)
java-11 63.25% <0.00%> (-0.01%) ⬇️
java-21 63.23% <0.00%> (+7.66%) ⬆️
temurin 63.27% <0.00%> (-0.01%) ⬇️
unittests 63.27% <0.00%> (-0.01%) ⬇️
unittests1 55.59% <0.00%> (-0.02%) ⬇️
unittests2 34.02% <0.00%> (+0.01%) ⬆️

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.

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.

2 participants