ES|QL: Implement first/last_over_time for tdigest#143832
ES|QL: Implement first/last_over_time for tdigest#143832JonasKunz merged 6 commits intoelastic:mainfrom
Conversation
ℹ️ Important: Docs version tagging👋 Thanks for updating the docs! Just a friendly reminder that our docs are now cumulative. This means all 9.x versions are documented on the same page and published off of the main branch, instead of creating separate pages for each minor version. We use applies_to tags to mark version-specific features and changes. Expand for a quick overviewWhen to use applies_to tags:✅ At the page level to indicate which products/deployments the content applies to (mandatory) What NOT to do:❌ Don't remove or replace information that applies to an older version 🤔 Need help?
|
| } | ||
|
|
||
| public static void combine(ExponentialHistogramStates.WithLongSingleState current, ExponentialHistogram value, long timestamp) { | ||
| if (timestamp < current.longValue()) { |
There was a problem hiding this comment.
This is currently dead code, which is why this mistake didn't show up. If desired, we could remove the dead code and replace it with UnsupportedOperationExceptions.
|
Pinging @elastic/es-storage-engine (Team:StorageEngine) |
...nerated/org/elasticsearch/compute/aggregation/FirstTDigestByTimestampAggregatorFunction.java
Outdated
Show resolved
Hide resolved
kkrik-es
left a comment
There was a problem hiding this comment.
It'd be nice if Nhat can take a quick look too.
…locations * upstream/main: (126 commits) Update KnnIndexTester to use more settings from datasets (elastic#143869) fix: dynamic template vector array is overridden by automatic dense_vector mapping (elastic#143733) ES|QL: Don't reuse the same alias for _fork column (elastic#143909) Close and initialize clients after each node upgrade in logsdb rolling upgrade tests. (elastic#143823) ESQL: Added GroupedTopNOperator for LIMIT BY, compute only (elastic#143476) Handle views in ResolveIndexAction (elastic#143561) Improve reindex rethrottle API in stateless (elastic#143771) Use a copy of the SearchExecutionContext for each Percolator execution (elastic#142765) Log the stacktrace when we encounter a deprecation warning for `default_metric` (elastic#143929) ESQL: evaluate ReferenceAttributes to potentially FieldAttributes for full-text functions restriction (elastic#143893) Add ClusterStateSerializationStats Serializatation Tests (elastic#142703) Adds Coordination Diagnostics Tests (elastic#142709) Upgrade Elasticsearch to Apache Lucene 10.4 (elastic#141882) ESQL: Add configurable bracket-based multi-value support for CSV reader (elastic#143890) time series es819 binary dv use up to a 1mb block size (elastic#143049) Dynamically enable / disable plugins in correspondence to stateless mode. (elastic#142147) ES|QL: Implement first/last_over_time for tdigest (elastic#143832) Document CHANGE_POINT limitation (elastic#143877) Fix OperationsOnSeqNoDisabledIndicesIT (elastic#143892) [Test] Test that sequence numbers are not pruned with retention lease (elastic#143825) ...
Adds the missing first_/last_over_time ES|QL implementations for T-Digest.
Closes #142677.
Note that this PR adds the implementation for both the grouping and the ungrouping variants. However, in TSDB we only use the grouping code path, so the ungrouping one is effectively dead code, just like for first/last_over_time on exponential histograms.
If desired, I could remove this dead code and replace it with
UnsupportedOperationExceptions where needed.The dead code would become useful if we decide to implement first/last, which we currently don't support.