Skip to content

Commit ac04e86

Browse files
committed
Add yaml test with reproducer
1 parent 527d2a2 commit ac04e86

File tree

2 files changed

+61
-1
lines changed

2 files changed

+61
-1
lines changed

x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/action/EsqlCapabilities.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -947,7 +947,12 @@ public enum Cap {
947947
/**
948948
* Supercedes {@link Cap#MAKE_NUMBER_OF_CHANNELS_CONSISTENT_WITH_LAYOUT}.
949949
*/
950-
FIX_REPLACE_MISSING_FIELD_WITH_NULL_DUPLICATE_NAME_ID_IN_LAYOUT;
950+
FIX_REPLACE_MISSING_FIELD_WITH_NULL_DUPLICATE_NAME_ID_IN_LAYOUT,
951+
952+
/**
953+
* Fix https://github.com/elastic/elasticsearch/issues/125850
954+
*/
955+
FIX_DOUBLY_RELEASED_NULL_BLOCKS_IN_VALUESOURCEREADER;
951956

952957
private final boolean enabled;
953958

x-pack/plugin/src/yamlRestTest/resources/rest-api-spec/test/esql/100_bug_fix.yml

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -335,3 +335,58 @@
335335
esql.query:
336336
body:
337337
query: 'FROM test_grok | KEEP name | WHERE last_name == "Facello" | EVAL name = concat("1 ", last_name) | GROK name "%{NUMBER:foo} %{WORD:foo}"'
338+
---
339+
"union types with null blocks from missing fields #125850":
340+
- requires:
341+
test_runner_features: [allowed_warnings_regex, capabilities]
342+
capabilities:
343+
- method: POST
344+
path: /_query
345+
parameters: []
346+
capabilities: [fix_doubly_released_null_blocks_in_valuesourcereader]
347+
reason: "fixed handing out already closed null block references in ValueSourceReader"
348+
- do:
349+
indices.create:
350+
index: test1
351+
body:
352+
mappings:
353+
properties:
354+
truefalse1 :
355+
type : boolean
356+
truefalse2 :
357+
type: boolean
358+
- do:
359+
indices.create:
360+
index: test2
361+
body:
362+
mappings:
363+
properties:
364+
truefalse1 :
365+
type : keyword
366+
truefalse2 :
367+
type: keyword
368+
- do:
369+
bulk:
370+
refresh: true
371+
body:
372+
- { "index": { "_index": "test1" } }
373+
- { "truefalse1": null}
374+
- { "index": { "_index": "test2" } }
375+
- { "truefalse1": null }
376+
377+
- do:
378+
allowed_warnings_regex:
379+
- "No limit defined, adding default limit of \\[.*\\]"
380+
381+
esql.query:
382+
body:
383+
query: 'FROM test* | eval t1 = truefalse1::boolean, t2 = truefalse2::boolean | keep t1, t2'
384+
- match: { columns.0.name: t1 }
385+
- match: { columns.0.type: boolean }
386+
- match: { columns.1.name: t2 }
387+
- match: { columns.1.type: boolean }
388+
- length: { values: 2 }
389+
- match: { values.0.0: null }
390+
- match: { values.0.1: null }
391+
- match: { values.1.0: null }
392+
- match: { values.1.1: null }

0 commit comments

Comments
 (0)