Aggs: Add validation to Bucket script pipeline agg#132320
Aggs: Add validation to Bucket script pipeline agg#132320ivancea merged 6 commits intoelastic:mainfrom
Conversation
|
Hi @ivancea, I've created a changelog YAML for you. |
nik9000
left a comment
There was a problem hiding this comment.
I'm ok with it. I'd ask @not-napoleon if he can think of a better way, but this is A way and that's better than a weird exception.
|
Pinging @elastic/es-analytical-engine (Team:Analytics) |
not-napoleon
left a comment
There was a problem hiding this comment.
If we don't want to support this (and I assume we don't, but that's more your call at this point), then I think this is a fine solution. As @nik9000 noted, it's better than the class cast exception.
I would like a yaml test with the reproducing query from the original issue. I see there's an Aggregator Test for it, which is good, but I would like both.
💔 Backport failed
You can use sqren/backport to manually backport by running |
Closes elastic#132272 Docs are explicit on what the bucket_script agg requires: > A parent pipeline aggregation which executes a script which can perform per bucket computations on specified metrics in the parent **_multi-bucket aggregation_** But it's missing a validation.
Closes elastic#132272 Docs are explicit on what the bucket_script agg requires: > A parent pipeline aggregation which executes a script which can perform per bucket computations on specified metrics in the parent **_multi-bucket aggregation_** But it's missing a validation.
Closes elastic#132272 Docs are explicit on what the bucket_script agg requires: > A parent pipeline aggregation which executes a script which can perform per bucket computations on specified metrics in the parent **_multi-bucket aggregation_** But it's missing a validation.
Closes elastic#132272 Docs are explicit on what the bucket_script agg requires: > A parent pipeline aggregation which executes a script which can perform per bucket computations on specified metrics in the parent **_multi-bucket aggregation_** But it's missing a validation.
Closes elastic#132272 Docs are explicit on what the bucket_script agg requires: > A parent pipeline aggregation which executes a script which can perform per bucket computations on specified metrics in the parent **_multi-bucket aggregation_** But it's missing a validation.
…cking * upstream/main: (26 commits) [Fleet] add privileges to `kibana_system` to read integrations data (elastic#132400) Add `TestEntitlementsRule` with support for dynamic entitled node paths for testing (elastic#132077) Reduce logging frequency for GCS per project clients (elastic#132429) Skip update/100_synthetic_source tests in yamlRestCompatTests (elastic#132296) Correct exception for missing nested path (elastic#132408) Fixing esql release tests elastic#132369 (elastic#132406) Adjust date docvalue formatting to return 4xx instead of 5xx (elastic#132414) Handle nested fields with the termvectors REST API in artificial docs (elastic#92568) Only collect bulk scored vectors when exceeding min competitive (elastic#132293) Fix release tests diskbbq update (elastic#132405) ESQL: Fix skipping of generative tests (elastic#132390) Short circuit failure handling in OIDC flow (elastic#130618) Small optimization in OptimizedScalarQuantizer by using mul instead of div (elastic#132397) Aggs: Add validation to Bucket script pipeline agg (elastic#132320) ESQL: Multiple parameters in ungrouped aggs (elastic#132375) ESQL: Explain test operators (elastic#132374) EQL: Deal with internally created IN in a different way for EQL (elastic#132167) Speed up hierarchical k-means by computing distances in bulk (elastic#132384) Reduce the number of fields per document (elastic#132322) Assert current thread in ESQL (elastic#132324) ...
Closes #132272 Docs are explicit on what the bucket_script agg requires: > A parent pipeline aggregation which executes a script which can perform per bucket computations on specified metrics in the parent **_multi-bucket aggregation_** But it's missing a validation.
Closes #132272 Docs are explicit on what the bucket_script agg requires: > A parent pipeline aggregation which executes a script which can perform per bucket computations on specified metrics in the parent **_multi-bucket aggregation_** But it's missing a validation.
Closes #132272 Docs are explicit on what the bucket_script agg requires: > A parent pipeline aggregation which executes a script which can perform per bucket computations on specified metrics in the parent **_multi-bucket aggregation_** But it's missing a validation.
Closes #132272 Docs are explicit on what the bucket_script agg requires: > A parent pipeline aggregation which executes a script which can perform per bucket computations on specified metrics in the parent **_multi-bucket aggregation_** But it's missing a validation.
Closes #132272 Docs are explicit on what the bucket_script agg requires: > A parent pipeline aggregation which executes a script which can perform per bucket computations on specified metrics in the parent **_multi-bucket aggregation_** But it's missing a validation.
Continuation of elastic#132320 Fixes elastic#136173 Fixes elastic#137624 Added cast checks to all pipeline aggs doing casts. Some aggs had a more specific check (Only histograms as parents). I still used the checked cast there, and added a test with the original error message
Closes #132272
Docs are explicit on what the bucket_script agg requires:
But it's missing a validation.
I checked for the validate() method, but I couldn't find a sane way to check that the agg builder is a MultiBucket agg. There's an InternalMultiBucketAgg interface, but not one for the builders. I could add it, but I'm not sure it would be worth the time.