-
Notifications
You must be signed in to change notification settings - Fork 24.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Node exits with org.elasticsearch.bootstrap.ElasticsearchUncaughtExceptionHandler when using HashSet in scripted metric #54708
Labels
:Core/Infra/Scripting
Scripting abstractions, Painless, and Mustache
Comments
lucabelluccini
added
the
:Core/Infra/Scripting
Scripting abstractions, Painless, and Mustache
label
Apr 3, 2020
Pinging @elastic/es-core-infra (:Core/Infra/Scripting) |
rjernst
added a commit
to rjernst/elasticsearch
that referenced
this issue
Apr 4, 2020
This commit adds support for reading and writing sets as generic values in stream input and output. closes elastic#54708
rjernst
added a commit
to rjernst/elasticsearch
that referenced
this issue
Apr 8, 2020
When calling scripts in metric aggregation, the returned metric state is passed along to the coordinating node to do the final reduce. However, it is possible the object could contain nested state which is unknown to StreamOutput/StreamInput. This would then result in the node crashing as exceptions are not expected in the middle of serialization. This commit adds a method to StreamOutput that can determine if an object is writeable by the stream. It uses the same logic writeGenericValue, special casing each of the supported collection types to recursively determine if each contained value is itself writeable. relates elastic#54708
rjernst
added a commit
that referenced
this issue
Apr 13, 2020
This commit adds support for reading and writing sets as generic values in stream input and output. closes #54708
rjernst
added a commit
to rjernst/elasticsearch
that referenced
this issue
Apr 13, 2020
This commit adds support for reading and writing sets as generic values in stream input and output. closes elastic#54708
rjernst
added a commit
that referenced
this issue
Apr 16, 2020
rjernst
added a commit
that referenced
this issue
Apr 21, 2020
) When calling scripts in metric aggregation, the returned metric state is passed along to the coordinating node to do the final reduce. However, it is possible the object could contain nested state which is unknown to StreamOutput/StreamInput. This would then result in the node crashing as exceptions are not expected in the middle of serialization. This commit adds a method to StreamOutput that can determine if an object is writeable by the stream. It uses the same logic writeGenericValue, special casing each of the supported collection types to recursively determine if each contained value is itself writeable. relates #54708
rjernst
added a commit
to rjernst/elasticsearch
that referenced
this issue
Apr 21, 2020
…stic#54936) When calling scripts in metric aggregation, the returned metric state is passed along to the coordinating node to do the final reduce. However, it is possible the object could contain nested state which is unknown to StreamOutput/StreamInput. This would then result in the node crashing as exceptions are not expected in the middle of serialization. This commit adds a method to StreamOutput that can determine if an object is writeable by the stream. It uses the same logic writeGenericValue, special casing each of the supported collection types to recursively determine if each contained value is itself writeable. relates elastic#54708
rjernst
added a commit
that referenced
this issue
Apr 28, 2020
) (#55561) When calling scripts in metric aggregation, the returned metric state is passed along to the coordinating node to do the final reduce. However, it is possible the object could contain nested state which is unknown to StreamOutput/StreamInput. This would then result in the node crashing as exceptions are not expected in the middle of serialization. This commit adds a method to StreamOutput that can determine if an object is writeable by the stream. It uses the same logic writeGenericValue, special casing each of the supported collection types to recursively determine if each contained value is itself writeable. relates #54708
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Elasticsearch version (
bin/elasticsearch --version
): 7.6.1Description of the problem including expected versus actual behavior:
I'm trying to run a scripted metric which makes use of
HashSet
inpainless
.I expect to obtain an answer or an error to the request.
Instead, the node stops.
This seems to be related to the fact Elasticsearch doesn't know how to serialize an
HashSet
(java.io.IOException: can not write type [class java.util.HashSet]
).The problem doesn't affect just the "reduce" phase (when serializing the final response) but also in the intermediate steps.
Seems related to #54666, feel free to close this.
Steps to reproduce:
Provide logs (if relevant):
Workaround:
Use a list and remove the duplicates only on the last step.
The text was updated successfully, but these errors were encountered: