Grok and Dissect produce attributes which can clash with existing fields creating new attributes (with the same name).
When reordering this through the tree however, the shadow attributes are not considered leading to inconsistencies in the tree:
// notice the two emp_no attributes
[test] Rule optimizer.LogicalPlanOptimizer$PushDownRegexExtract applied
...
\_Dissect[full_name{r}#5,Parser[pattern=%{emp_no} %{b}, appendSeparator=, parser=org.elasticsearch.dissect.DissectParser@ ! \_OrderBy[[Order[emp_no{f}#15,ASC,LAST]]]
15e5e308],[emp_no{r}#6, b{r}#7]] ! \_Dissect[full_name{r}#5,Parser[pattern=%{emp_no} %{b}, appendSeparator=, parser=org.elasticsearch.dissect.DissectParser@
\_OrderBy[[Order[emp_no{f}#15,ASC,LAST]]] ! 15e5e308],[emp_no{r}#6, b{r}#7]]
Description
Grok and Dissect produce attributes which can clash with existing fields creating new attributes (with the same name).
When reordering this through the tree however, the shadow attributes are not considered leading to inconsistencies in the tree: